liyijie 2 gadi atpakaļ
vecāks
revīzija
f708fb8850

+ 3 - 3
PDF Office/Helper/EditToolsHelper.cs

@@ -119,13 +119,13 @@ namespace PDF_Office.Helper
             {
                 case 0:
                     {
-                        PageRange = "0-" + document.PageCount;
+                        PageRange = "0-" + (document.PageCount-1);
                     }
                     break;
                 case 1:
                     {
                        PageRange = "0";
-                        for (int i = 2; i <= document.PageCount; i += 2)
+                        for (int i = 2; i <= (document.PageCount - 1); i += 2)
                             PageRange =PageRange + "," + i;
                     }
                     break;
@@ -133,7 +133,7 @@ namespace PDF_Office.Helper
                     if (document.PageCount >= 2)
                     {
                         PageRange = "1";
-                        for (int i = 3; i <= document.PageCount; i += 2)
+                        for (int i = 3; i <= (document.PageCount - 1); i += 2)
                             PageRange = PageRange + "," + i;
                     }
                     else

+ 1 - 1
PDF Office/Model/EditTools/Watermark/WatermarkCreateModel.cs

@@ -62,7 +62,7 @@ namespace PDF_Office.Model.EditTools.Watermark
         /// <summary>
         /// 水印页面范围;
         /// </summary>
-        public string PageRange  = "1";
+        public string PageRange  = "0";
 
         /// <summary>
         /// 水印垂直位置;

+ 11 - 0
PDF Office/ViewModels/EditTools/Watermark/WatermarkCreateFileContentViewModel.cs

@@ -113,6 +113,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             {
                 SetProperty(ref _rotationValue, value);
                 WatermarkInfo.Rotation = ((float)RotationValue / 180) * 3.1415926f;
+                eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
             }
         }
 
@@ -124,6 +125,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             {
                 SetProperty(ref _opacityValue, value);
                 WatermarkInfo.Opacity = (byte)(((float)OpacityValue / 100) * 225);
+                eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
             }
         }
 
@@ -145,6 +147,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             {
                 SetProperty(ref _vertOffsetValue, value);
                 WatermarkInfo.VertOffset = float.Parse(VertOffsetValue);
+                eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
             }
         }
 
@@ -156,6 +159,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             {
                 SetProperty(ref _horizOffsetValue, value);
                 WatermarkInfo.HorizOffset = float.Parse(HorizOffsetValue);
+                eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
             }
         }
 
@@ -167,6 +171,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             {
                 SetProperty(ref _verticalSpacingValue, value);
                 WatermarkInfo.VerticalSpacing = float.Parse(VerticalSpacingValue);
+                eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
             }
         }
 
@@ -178,6 +183,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             {
                 SetProperty(ref _horizontalSpacingValue, value);
                 WatermarkInfo.HorizontalSpacing = float.Parse(HorizontalSpacingValue);
+                eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
             }
         }
 
@@ -189,6 +195,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             {
                 _pageRangeText = value;
                 EditToolsHelper.GetPageRange(PageRangeSelectIndex, PDFViewer.Document, ref WatermarkInfo.PageRange, PageRangeText);
+                eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
             }
         }
 
@@ -200,6 +207,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             {
                 SetProperty(ref _isFullValue, value);
                 WatermarkInfo.Isfull = IsFullValue;
+                eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
             }
         }
 
@@ -211,6 +219,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             {
                 SetProperty(ref _pageRangeSelectIndex, value);
                 EditToolsHelper.GetPageRange(PageRangeSelectIndex, PDFViewer.Document, ref WatermarkInfo.PageRange, PageRangeText);
+                eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
 
             }
         }
@@ -325,6 +334,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             {
                 WatermarkInfo.WatermarkVertalign = (C_Watermark_Vertalign)(int.Parse(args) / 10);
                 WatermarkInfo.WatermarkHorizalign = (C_Watermark_Horizalign)(int.Parse(args) % 10);
+                eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
                 InitLocationButtonMatrix();
             }
         }
@@ -355,6 +365,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
                     EditToolsHelper.ChooseFile(dlg.FileName, ref WatermarkInfo);
                 }
                 CreateFileVisible=Visibility.Visible;
+                eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
             }
         }
 

+ 2 - 0
PDF Office/ViewModels/EditTools/Watermark/WatermarkCreateTextContentViewModel.cs

@@ -323,6 +323,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             get { return _pageRangeText; } 
             set { _pageRangeText = value;
                 EditToolsHelper.GetPageRange(PageRangeSelectIndex, PDFViewer.Document, ref WatermarkInfo.PageRange, PageRangeText);
+                eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
             } 
         }
 
@@ -334,6 +335,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             {
                 SetProperty(ref _pageRangeSelectIndex, value);
                 EditToolsHelper.GetPageRange(PageRangeSelectIndex, PDFViewer.Document, ref WatermarkInfo.PageRange, PageRangeText);
+                eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
             }
         }
 

+ 19 - 11
PDF Office/ViewModels/EditTools/Watermark/WatermarkDocumentContentViewModel.cs

@@ -22,6 +22,7 @@ using System.Drawing;
 using System.Windows;
 using ComPDFKitViewer;
 using Size = System.Windows.Size;
+using System.Diagnostics;
 
 namespace PDF_Office.ViewModels.EditTools.Watermark
 {
@@ -62,9 +63,9 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
         public void SetWatermark(WatermarkInfo watermarkInfo)
         {
             this.watermarkInfo = watermarkInfo;
-
-            //document.PdfToImage("0-1", "D:\\");
-            //document.WriteToFilePath("D:\\sb22222.pdf");
+            // CreateWatermark(PDFViewer.Document);
+            PDFViewer.Document.PdfToImage("0-1", "C:\\Users\\kdanmobile\\Desktop\\888");
+            PDFViewer.Document.WriteToFilePath("C:\\Users\\kdanmobile\\Desktop\\888\\sb22222.pdf");
             PDFViewer.InvalidateVisual();
         }
 
@@ -82,13 +83,17 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
                         watermarkInfo.TextSize = "6";
                     }
                     watermark.SetFontName(watermarkInfo.FontName);
-                    watermark.SetScale(float.Parse(watermarkInfo.TextSize));
+                    watermark.SetFontSize(float.Parse(watermarkInfo.TextSize));
                     watermark.SetTextRGBColor(watermarkInfo.TextColor);
                 }
                 else
                 {
+
                     watermark = document.InitWatermark(C_Watermark_Type.WATERMARK_TYPE_IMG);
-                    watermark.SetImage(watermarkInfo.ImageArray, watermarkInfo.ImageWidth, watermarkInfo.ImageHeight);
+                    if (watermarkInfo.ImageArray != null)
+                    {
+                        watermark.SetImage(watermarkInfo.ImageArray, watermarkInfo.ImageWidth, watermarkInfo.ImageHeight);
+                    }
                     watermark.SetScale(0.1f);
                 }
                 watermark.SetRotation(watermarkInfo.Rotation);
@@ -179,20 +184,23 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
 
         public void OnNavigatedTo(NavigationContext navigationContext)
         {
-            navigationContext.Parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out PDFViewer);
-            if (PDFViewer != null)
+            CPDFViewer pdfViewer;
+            navigationContext.Parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out pdfViewer);
+            if (pdfViewer != null)
             {
-                Document = PDFViewer.Document;
                 if (!regionManager.Regions[ViwerRegionName].Views.Contains(PDFViewer))
                 {
+                    PDFViewer = new CPDFViewer();
+                    PDFViewer.InitDocument(pdfViewer.Document.FilePath);
+                    Document = PDFViewer.Document;
                     PDFViewer.CustomDrawHandler += CurrentViewer_CustomDrawHandler;
                     PDFViewer.UndoManager.PropertyChanged += UndoManager_PropertyChanged;
                     regionManager.AddToRegion(ViwerRegionName, PDFViewer);
                     PDFViewer.SetAnnotInteraction(!PDFViewer.GetAnnotInteraction());
-
-
+                    PDFViewer.Load();
+                    PDFViewer.ChangeViewMode(ViewMode.Single);
+                    PDFViewer.SetMouseMode(MouseModes.Default);
                 }
-
             }
         }
     }

+ 1 - 1
PDF Office/Views/EditTools/Watermark/WatermarkCreateTextContent.xaml

@@ -20,7 +20,7 @@
         </Grid.RowDefinitions>
         <Grid Grid.Row="0" Width="228">
             <StackPanel Orientation="Vertical">
-                <TextBox Name="TextValueTextBox" Height="72" Margin="0,16,0,0" Text="{Binding TextValue}" Foreground="{Binding SolidColorBrush}" FontSize="14" >
+                <TextBox Name="TextValueTextBox" Height="72" Margin="0,16,0,0" Text="{Binding TextValue}"  Foreground="{Binding SolidColorBrush}" FontSize="14"  AcceptsReturn="True">
                     <i:Interaction.Triggers>
                         <i:EventTrigger EventName="TextChanged">
                             <i:InvokeCommandAction Command="{Binding TextValueChangedCommand}" CommandParameter="{Binding ElementName=TextValueTextBox}" />