liyijie 2 years ago
parent
commit
1fb4f227ef

+ 1 - 0
PDF Office/ViewModels/EditTools/Watermark/WatermarkContentViewModel.cs

@@ -168,6 +168,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
         {
         {
             NavigationParameters param = new NavigationParameters();
             NavigationParameters param = new NavigationParameters();
             param.Add(ParameterNames.PDFViewer, PDFViewer);
             param.Add(ParameterNames.PDFViewer, PDFViewer);
+            param.Add(ParameterNames.ViewContentViewModel, viewContentViewModel);
             watermarkRegion.RequestNavigate(WatermarkDocumentRegionName, WatermarkDocumentName, param);
             watermarkRegion.RequestNavigate(WatermarkDocumentRegionName, WatermarkDocumentName, param);
             WatermarkDocumentVisible = Visibility.Visible;
             WatermarkDocumentVisible = Visibility.Visible;
         }
         }

+ 4 - 4
PDF Office/ViewModels/EditTools/Watermark/WatermarkCreateFileContentViewModel.cs

@@ -293,10 +293,10 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             if (watermarkInfo != null)
             if (watermarkInfo != null)
             {
             {
                 watermarkItem.type = watermarkInfo.WatermarkType;
                 watermarkItem.type = watermarkInfo.WatermarkType;
-                watermarkItem.text = watermarkInfo.Text;
-                watermarkItem.fontSize = watermarkInfo.TextSize;
-                watermarkItem.fontName = watermarkInfo.FontName;
-                watermarkItem.textcolor = watermarkInfo.TextColor;
+                watermarkItem.imageArray = watermarkInfo.ImageArray;
+                watermarkItem.imageSize = watermarkInfo.ImageSize;
+                watermarkItem.imageWidth  = watermarkInfo.ImageWidth;
+                watermarkItem.imageHeight = watermarkInfo.ImageHeight;
                 watermarkItem.horizalign = watermarkInfo.WatermarkHorizalign;
                 watermarkItem.horizalign = watermarkInfo.WatermarkHorizalign;
                 watermarkItem.vertalign = watermarkInfo.WatermarkVertalign;
                 watermarkItem.vertalign = watermarkInfo.WatermarkVertalign;
                 watermarkItem.isFullScreen = watermarkInfo.Isfull;
                 watermarkItem.isFullScreen = watermarkInfo.Isfull;

+ 8 - 5
PDF Office/ViewModels/EditTools/Watermark/WatermarkDocumentContentViewModel.cs

@@ -36,7 +36,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
         public CPDFViewer PDFViewer;
         public CPDFViewer PDFViewer;
         public CPDFDocument Document;
         public CPDFDocument Document;
         private CPDFWatermark watermark;
         private CPDFWatermark watermark;
-
+        private ViewContentViewModel viewContentViewModel;
         private CPDFBackground background;
         private CPDFBackground background;
         private WatermarkInfo watermarkInfo;
         private WatermarkInfo watermarkInfo;
 
 
@@ -57,9 +57,10 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
         public void SetWatermark(WatermarkInfo watermarkInfo)
         public void SetWatermark(WatermarkInfo watermarkInfo)
         {
         {
             this.watermarkInfo = watermarkInfo;
             this.watermarkInfo = watermarkInfo;
-            CreateWatermark(PDFViewer.Document);
-            PDFViewer.Document.PdfToImage("0-1", "C:\\Users\\kdanmobile\\Desktop\\888\\");
-            PDFViewer.Document.WriteToFilePath("C:\\Users\\kdanmobile\\Desktop\\888\\sb22222_.pdf");
+            CreateWatermark(viewContentViewModel.PDFViewer.Document);
+            viewContentViewModel.PDFViewer.ReloadDocument();
+            // PDFViewer.Document.PdfToImage("0-1", "C:\\Users\\kdanmobile\\Desktop\\888\\");
+            viewContentViewModel.PDFViewer.Document.WriteToFilePath("C:\\Users\\kdanmobile\\Desktop\\888\\sb22222_.pdf");
             PDFViewer.InvalidChildVisual(false);
             PDFViewer.InvalidChildVisual(false);
         }
         }
 
 
@@ -171,7 +172,9 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
         {
         {
             CPDFViewer pdfViewer;
             CPDFViewer pdfViewer;
             navigationContext.Parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out pdfViewer);
             navigationContext.Parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out pdfViewer);
-            if (pdfViewer != null)
+
+            navigationContext.Parameters.TryGetValue<ViewContentViewModel>(ParameterNames.ViewContentViewModel, out viewContentViewModel);
+            if (pdfViewer != null&& viewContentViewModel!=null)
             {
             {
                 if (!regionManager.Regions[ViewerRegionName].Views.Contains(PDFViewer))
                 if (!regionManager.Regions[ViewerRegionName].Views.Contains(PDFViewer))
                 {
                 {

+ 137 - 137
PDFSettings/WatermarkTemplateList.cs

@@ -1,138 +1,138 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Security.Permissions;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Input;
-
-namespace PDFSettings
-{
-    public class WatermarkTemplateList : List<WatermarkItem>
-    {
-
-    }
-
-    public class WatermarkItem : EventArgs
-    {
-        /// <summary>
-        /// 模板名称
-        /// </summary>
-        public string templateName = "Watermark";
-
-        /// <summary>
-        /// 水印类型
-        /// </summary>
-        public ComPDFKit.PDFWatermark.C_Watermark_Type type = ComPDFKit.PDFWatermark.C_Watermark_Type.WATERMARK_TYPE_TEXT;
-
-        /// <summary>
-        /// 字体名字
-        /// </summary>
-        public string fontName = "Helvetica";
-
-        /// <summary>
-        /// 字体大小
-        /// </summary>
-        public float fontSize = 48;
-
-        /// <summary>
-        /// 字体大小
-        /// </summary>
-        public float imageSize = 1;
-        /// <summary>
-        /// 页码范围
-        /// </summary>
-        public string pageRange;
-
-        /// <summary>
-        /// 水平位置
-        /// </summary>
-        public ComPDFKit.PDFWatermark.C_Watermark_Horizalign horizalign = ComPDFKit.PDFWatermark.C_Watermark_Horizalign.WATERMARK_HORIZALIGN_CENTER;
-
-        /// <summary>
-        /// 水平偏移量
-        /// </summary>
-        public float horizOffset = 0;
-
-        public string previeImagePath = "";
-
-        /// <summary>
-        /// 图片数据缓存
-        /// </summary>
-        public byte[] imageArray = null;
-
-        /// <summary>
-        /// 图片数据缓存路径
-        /// </summary>
-        public string imagepath = "";
-
-        /// <summary>
-        /// 图片宽
-        /// </summary>
-        public int imageWidth;
-
-        /// <summary>
-        /// 图片高
-        /// </summary>
-        public int imageHeight;
-
-        /// <summary>
-        /// 透明度 0-255
-        /// </summary>
-        public byte opacity = 230;
-
-        /// <summary>
-        /// 旋转角度
-        /// </summary>
-        public float rotation = 0;
-
-        /// <summary>
-        /// 图片缩放比例
-        /// </summary>
-        public float scale = 1;
-
-        /// <summary>
-        /// 水印内容
-        /// </summary>
-        public string text = "Watermark";
-
-        /// <summary>
-        /// 本文颜色
-        /// </summary>
-        public byte[] textcolor = new byte[] { 255, 0, 0 };
-
-        /// <summary>
-        /// 垂直位置    
-        /// </summary>
-        public ComPDFKit.PDFWatermark.C_Watermark_Vertalign vertalign = ComPDFKit.PDFWatermark.C_Watermark_Vertalign.WATERMARK_VERTALIGN_CENTER;
-
-        /// <summary>
-        /// 垂直偏移量
-        /// </summary>
-        public float vertOffset = 0;
-
-        /// <summary>
-        /// 是否平铺
-        /// </summary>
-        public bool isFullScreen = false;
-
-        /// <summary>
-        /// 水平间距
-        /// </summary>
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Security.Permissions;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Input;
+
+namespace PDFSettings
+{
+    public class WatermarkTemplateList : List<WatermarkItem>
+    {
+
+    }
+
+    public class WatermarkItem : EventArgs
+    {
+        /// <summary>
+        /// 模板名称
+        /// </summary>
+        public string templateName = "Watermark";
+
+        /// <summary>
+        /// 水印类型
+        /// </summary>
+        public ComPDFKit.PDFWatermark.C_Watermark_Type type = ComPDFKit.PDFWatermark.C_Watermark_Type.WATERMARK_TYPE_TEXT;
+
+        /// <summary>
+        /// 字体名字
+        /// </summary>
+        public string fontName = "Helvetica";
+
+        /// <summary>
+        /// 字体大小
+        /// </summary>
+        public float fontSize = 48;
+
+        /// <summary>
+        /// 字体大小
+        /// </summary>
+        public float imageSize = 1;
+        /// <summary>
+        /// 页码范围
+        /// </summary>
+        public string pageRange;
+
+        /// <summary>
+        /// 水平位置
+        /// </summary>
+        public ComPDFKit.PDFWatermark.C_Watermark_Horizalign horizalign = ComPDFKit.PDFWatermark.C_Watermark_Horizalign.WATERMARK_HORIZALIGN_CENTER;
+
+        /// <summary>
+        /// 水平偏移量
+        /// </summary>
+        public float horizOffset = 0;
+
+        public string previeImagePath = "";
+
+        /// <summary>
+        /// 图片数据缓存
+        /// </summary>
+        public byte[] imageArray = null;
+
+        /// <summary>
+        /// 图片数据缓存路径
+        /// </summary>
+        public string imagepath = "";
+
+        /// <summary>
+        /// 图片宽
+        /// </summary>
+        public int imageWidth;
+
+        /// <summary>
+        /// 图片高
+        /// </summary>
+        public int imageHeight;
+
+        /// <summary>
+        /// 透明度 0-255
+        /// </summary>
+        public byte opacity = 230;
+
+        /// <summary>
+        /// 旋转角度
+        /// </summary>
+        public float rotation = 0;
+
+        /// <summary>
+        /// 图片缩放比例
+        /// </summary>
+        public float scale = 1;
+
+        /// <summary>
+        /// 水印内容
+        /// </summary>
+        public string text = "Watermark";
+
+        /// <summary>
+        /// 本文颜色
+        /// </summary>
+        public byte[] textcolor = new byte[] { 255, 0, 0 };
+
+        /// <summary>
+        /// 垂直位置    
+        /// </summary>
+        public ComPDFKit.PDFWatermark.C_Watermark_Vertalign vertalign = ComPDFKit.PDFWatermark.C_Watermark_Vertalign.WATERMARK_VERTALIGN_CENTER;
+
+        /// <summary>
+        /// 垂直偏移量
+        /// </summary>
+        public float vertOffset = 0;
+
+        /// <summary>
+        /// 是否平铺
+        /// </summary>
+        public bool isFullScreen = false;
+
+        /// <summary>
+        /// 水平间距
+        /// </summary>
         public float horizontalSpacing = (float)(10 * Helpers.Dpi / 25.4);
         public float horizontalSpacing = (float)(10 * Helpers.Dpi / 25.4);
-        /// <summary>
-        /// 垂直间距
-        /// </summary>
-        public float verticalSpacing = (float)(20 * Helpers.Dpi / 25.4);
-
-        /// <summary>
-        /// 水印是否在前
-        /// </summary>
-        public bool isfront = true;
-
-        /// <summary>
-        /// 页面选择的范围 ALL ODD EVEN 1-5(传入用户输入的字符串)
-        /// </summary>
-        public string pageangeMode = "ALL";
-    }
-}
+        /// <summary>
+        /// 垂直间距
+        /// </summary>
+        public float verticalSpacing = (float)(20 * Helpers.Dpi / 25.4);
+
+        /// <summary>
+        /// 水印是否在前
+        /// </summary>
+        public bool isfront = true;
+
+        /// <summary>
+        /// 页面选择的范围 ALL ODD EVEN 1-5(传入用户输入的字符串)
+        /// </summary>
+        public string pageangeMode = "ALL";
+    }
+}