Browse Source

Merge branch 'dev' of http://git.kdan.cc:8865/Windows/PDFOffice_Windows_exe into dev

ZhouJieSheng 1 year ago
parent
commit
00cb34b151

BIN
PDF Office/ComPDFKit.Viewer.dll


+ 5 - 1
PDF Office/Model/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterDialogModel.cs

@@ -90,7 +90,11 @@ namespace PDF_Master.Model.Dialog.HomePageToolsDialogs.HomePagePrinter
         /// 解决一直获取纸张信息引发卡顿的问题
         /// </summary>
         public bool IsPaperSizeChanged = false;
-
+        
+        /// <summary>
+        /// 在每次重新计算页码范围时,都需要根据needreversepage判定是否要翻转页码
+        /// </summary>
+        public bool needReversePage = false;
         public PrintSettingsInfo()
         {
             PrintDocument.DefaultPageSettings.Landscape = false;

+ 17 - 1
PDF Office/ViewModels/BottomToolContentViewModel.cs

@@ -478,7 +478,23 @@ namespace PDF_Master.ViewModels
         {
             if (PDFViewer != null)
             {
-                PDFViewer.GoToPage(PDFViewer.CurrentIndex - 1);
+                if (PDFViewer.RenderPageStart == PDFViewer.CurrentIndex)
+                {
+
+                    PDFViewer.GoToPage(PDFViewer.CurrentIndex - 1);
+                }
+                else
+                {
+                    if ((PDFViewer.RenderPageStart - 1) > 0)
+                    {
+                        PDFViewer.GoToPage(PDFViewer.RenderPageStart - 1);
+                    }
+                    else
+                    {
+                        PDFViewer.GoToPage(PDFViewer.CurrentIndex - 1);
+                    }
+                }
+
             }
         }
 

+ 81 - 9
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterDialogViewModel.cs

@@ -385,6 +385,7 @@ namespace PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
         public DelegateCommand<object> SetReversePageCommand { get; set; }
         public DelegateCommand<object> SetPrintBorderCommand { get; set; }
         public DelegateCommand<object> SetPrintOritationCommand { get; set; }
+        public DelegateCommand<object> PageTextChangedCommand { get; set; }
         #endregion
 
         HomePagePrinterDialogViewModel(IRegionManager regionManager, IDialogService dialogService, IEventAggregator eventAggregator)
@@ -398,7 +399,7 @@ namespace PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
             HomePagePrinterModRegionName = Guid.NewGuid().ToString();
 
             CancelCommand = new DelegateCommand(Cancel);
-            ConfirmPrintCommand = new DelegateCommand(ConfirmPrint); 
+            ConfirmPrintCommand = new DelegateCommand(ConfirmPrint);
             ChangePrintModCommand = new DelegateCommand<object>(ChangePrintMod);
             SetPaperCommand = new DelegateCommand(SetPaper);
             SelectPrinterCommand = new DelegateCommand<object>(SelectPrinter);
@@ -406,6 +407,7 @@ namespace PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
             SetDuplexCommand = new DelegateCommand<object>(SetDuplex);
             SetPageRangeSelectionIndexCommand = new DelegateCommand<object>(SetPageRangeSelectionIndex);
             SetCustomPageRangeCommand = new DelegateCommand<object>(SetCustomPageRange);
+            PageTextChangedCommand = new DelegateCommand<object>(PageTextChanged);
             SetPrintContentCommand = new DelegateCommand<object>(SetPrintContent);
             SetReversePageCommand = new DelegateCommand<object>(SetReversePage);
             SetPrintBorderCommand = new DelegateCommand<object>(SetPrintBorder);
@@ -524,8 +526,10 @@ namespace PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
         /// </summary>
         public void SetPaper()
         {
+            Margins defaultMargin = new Margins();
             PrintSettingsInfo.PrintDocument.PrinterSettings.PrinterName = PrinterName;
             pageSetupDialog.Document = PrintSettingsInfo.PrintDocument;
+            defaultMargin = PrintSettingsInfo.PrintDocument.DefaultPageSettings.Margins;
             pageSetupDialog.Document.DefaultPageSettings.Margins = new Margins((int)(PrintSettingsInfo.PrintDocument.DefaultPageSettings.Margins.Left * 2.54), (int)(PrintSettingsInfo.PrintDocument.DefaultPageSettings.Margins.Right * 2.54), (int)(PrintSettingsInfo.PrintDocument.DefaultPageSettings.Margins.Top * 2.54), (int)(PrintSettingsInfo.PrintDocument.DefaultPageSettings.Margins.Bottom * 2.54));
 
             if (pageSetupDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
@@ -544,6 +548,10 @@ namespace PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
                 this.printEvent.GetEvent<SendPrintSettingsInfoEvent>().Publish(new PrintSettingsInfoWithUnicode { printSettingsInfo = this.PrintSettingsInfo, Unicode = this.Unicode });
                 PrintSettingsInfo.IsPaperSizeChanged = false;
             }
+            else
+            {
+                PrintSettingsInfo.PrintDocument.DefaultPageSettings.Margins = defaultMargin;
+            }
         }
 
         public void ChangePrintMod(object e)
@@ -629,7 +637,7 @@ namespace PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
         {
             var cmb = e as WritableComboBox;
             PrintSettingsInfo.PageRangeList.Clear();
-            if (int.Parse(cmb.SelectedIndex) < cmb.Items.Count - 1)
+            if ((int.Parse(cmb.SelectedIndex) < cmb.Items.Count - 1))
             {
                 if (!isCurrentPage)
                 {
@@ -650,7 +658,6 @@ namespace PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
                     }
                     else if (PrintSettingsInfo.EnumPageRange == (int)EnumPageRangeWithoutCurrentPage.StatusEvenRange)
                     {
-                        //TODO: 偶数页页数不够异常
                         if (PDFViewer.Document.PageCount <= 1)
                         {
                             for (int temp = 0; temp < PDFViewer.Document.PageCount; temp++)
@@ -693,7 +700,6 @@ namespace PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
                     }
                     else if (PrintSettingsInfo.EnumPageRange == (int)EnumPageRangeWithCurrentPage.StatusEvenRange)
                     {
-                        //TODO: 偶数页页数不够异常
                         if (PDFViewer.Document.PageCount <= 1)
                         {
                             for (int temp = 0; temp < PDFViewer.Document.PageCount; temp++)
@@ -711,11 +717,29 @@ namespace PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
                         }
                     }
                 }
-
+                if (PrintSettingsInfo.needReversePage)
+                {
+                    PrintSettingsInfo.PageRangeList.Reverse();
+                }
                 this.printEvent.GetEvent<SendPrintSettingsInfoEvent>().Publish(new PrintSettingsInfoWithUnicode { printSettingsInfo = this.PrintSettingsInfo, Unicode = this.Unicode });
             }
             else
             {
+                PrintSettingsInfo.EnumPageRange = (int)EnumPageRangeWithCurrentPage.StatusCustomizedRange;
+                if (string.IsNullOrEmpty(PageListString))
+                {
+                    for (int temp = 0; temp < PDFViewer.Document.PageCount; temp++)
+                    {
+                        PrintSettingsInfo.PageRangeList.Add(temp);
+                    }
+                    if (PrintSettingsInfo.needReversePage)
+                    {
+                        PrintSettingsInfo.PageRangeList.Reverse();
+                    }
+                    this.printEvent.GetEvent<SendPrintSettingsInfoEvent>().Publish(new PrintSettingsInfoWithUnicode { printSettingsInfo = this.PrintSettingsInfo, Unicode = this.Unicode });
+                    return;
+                }
+                 
                 if (!isCurrentPage)
                 {
                     for (int temp = 0; temp < PDFViewer.Document.PageCount; temp++)
@@ -730,12 +754,16 @@ namespace PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
                     {
                         PrintSettingsInfo.PageRangeList.Add(temp);
                     }
-                    PrintSettingsInfo.EnumPageRange = (int)EnumPageRangeWithCurrentPage.StatusCustomizedRange;
-
+                }
+                if (PrintSettingsInfo.needReversePage)
+                {
+                    PrintSettingsInfo.PageRangeList.Reverse();
                 }
             }
         }
 
+
+
         public void SetCustomPageRange(object e)
         {
             if ((PrintSettingsInfo.EnumPageRange == (int)EnumPageRangeWithoutCurrentPage.StatusCustomizedRange && !isCurrentPage) || (PrintSettingsInfo.EnumPageRange == (int)EnumPageRangeWithCurrentPage.StatusCustomizedRange && isCurrentPage))
@@ -756,6 +784,30 @@ namespace PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
             }
         }
 
+        public void PageTextChanged(object e)
+        {
+            if ((PrintSettingsInfo.EnumPageRange == (int)EnumPageRangeWithoutCurrentPage.StatusCustomizedRange && !isCurrentPage) || (PrintSettingsInfo.EnumPageRange == (int)EnumPageRangeWithCurrentPage.StatusCustomizedRange && isCurrentPage))
+            {
+                var cmb = e as WritableComboBox;
+                if (cmb == null)
+                {
+                    return;
+                }
+                if (!CommonHelper.GetPagesInRange(ref DocumentTargetPages, cmb.Text, PDFViewer.Document.PageCount, new char[] { ',' }, new char[] { '-' }))
+                { //TODO
+                    PrintSettingsInfo.PageRangeList.Clear();
+                    for (int temp = 0; temp < PDFViewer.Document.PageCount; temp++)
+                    {
+                        PrintSettingsInfo.PageRangeList.Add(temp);
+                    }
+                    this.printEvent.GetEvent<SendPrintSettingsInfoEvent>().Publish(new PrintSettingsInfoWithUnicode { printSettingsInfo = this.PrintSettingsInfo, Unicode = this.Unicode });
+                    return;
+                }
+                PrintSettingsInfo.PageRangeList = DocumentTargetPages;
+                this.printEvent.GetEvent<SendPrintSettingsInfoEvent>().Publish(new PrintSettingsInfoWithUnicode { printSettingsInfo = this.PrintSettingsInfo, Unicode = this.Unicode });
+            }
+        }
+
         public void SetPrintOritation(object e)
         {
             var cmb = e as ComboBox;
@@ -765,8 +817,7 @@ namespace PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
             }
             else
             {
-                PrintSettingsInfo.PrintDocument.DefaultPageSettings.Landscape = true;
-            }
+                PrintSettingsInfo.PrintDocument.DefaultPageSettings.Landscape = true;            }
 
             PrintSettingsInfo.EnumPrintOrientation = (EnumPrintOrientation)cmb.SelectedIndex;
             this.printEvent.GetEvent<SendPrintSettingsInfoEvent>().Publish(new PrintSettingsInfoWithUnicode { printSettingsInfo = this.PrintSettingsInfo, Unicode = this.Unicode });
@@ -800,6 +851,14 @@ namespace PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
 
         public void SetReversePage(object e)
         {
+            var reversePageChk = e as CheckBox;
+            if ((bool)reversePageChk.IsChecked) {
+                PrintSettingsInfo.needReversePage = true;
+            }
+            else
+            {
+                PrintSettingsInfo.needReversePage = false;
+            }
             PrintSettingsInfo.PageRangeList.Reverse();
             this.printEvent.GetEvent<SendPrintSettingsInfoEvent>().Publish(new PrintSettingsInfoWithUnicode { printSettingsInfo = this.PrintSettingsInfo, Unicode = this.Unicode });
 
@@ -925,6 +984,18 @@ namespace PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
         /// </summary>
         public void ConfirmPrint()
         {
+            List<int> PageIndexLists = new List<int>();
+
+            if (PageRangeSelectIndex == 4)
+            {
+                if (!CommonHelper.GetPagesInRange(ref PageIndexLists, CustomRangeString, PDFViewer.Document.PageCount, new char[] { ',' }, new char[] { '-' }))
+                { //TODO
+                    AlertsMessage alertsMessage = new AlertsMessage();
+                    alertsMessage.ShowDialog("页面范围输入错误", "", "确定");
+                    return;
+                }
+            }
+
             printQueue = localDefaultPrintServer.GetPrintQueue(PrinterName);
             LoadPrinterSettings();
 
@@ -1015,6 +1086,7 @@ namespace PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
 
         public void OnDialogOpened(IDialogParameters parameters)
         {
+
             parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out PDFViewer);
 
             VerifyPasswordResult result = SecurityHelper.VerifyPasswordForSelectedPermissions(PDFViewer.Document, Model.Dialog.ToolsDialogs.SaftyDialogs.EnumPermissionsSet.StatusAllowsPrinting, printDialogs);

+ 0 - 1
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterDocumentContentViewModel.cs

@@ -1686,7 +1686,6 @@ namespace PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
                     documentSettingsInfo.margins = PrintSettingsInfo.PrintDocument.DefaultPageSettings.Margins;
                     documentSettingsInfo.DocumentBounds = PrintSettingsInfo.PrintDocument.DefaultPageSettings.Bounds;
                     documentSettingsInfo.IsSettingsChanged = false;
-
                 }
                 CaculatePrintedPageCount();
                 SetPaperCollection();

+ 10 - 6
PDF Office/ViewModels/FillAndSign/FillAndSignContentViewModel.cs

@@ -1594,7 +1594,7 @@ namespace PDF_Master.ViewModels.FillAndSign
 
                             break;
                         case ActionType.Del:
-                            
+
 
                             break;
                     }
@@ -1607,24 +1607,23 @@ namespace PDF_Master.ViewModels.FillAndSign
             }
 
         }
-
         //选中和非选中注释,右键菜单
         private void PDFViewer_AnnotActiveHandler(object sender, AnnotAttribEvent e)
         {
             if (e != null)
             {
+                
                 IsClickNull = false;
                 var annot = e.AnnotItemsList[0];
                 if (annot != null)
                 {
-
+                    
                     if (e.AnnotItemsList.Count == 1)
                     {
                         //IsEdit = false;
                         //IsAnnotCreateReset:是否为创建注释的状态
                         if (e.IsAnnotCreateReset == false)
                         {
-
                             GetSelectedAnnots(e);
 
                             //记录这次选中的注释,之后创建注释会跟随上次选中注释的属性值
@@ -1701,9 +1700,13 @@ namespace PDF_Master.ViewModels.FillAndSign
             }
             else
             {
-                if (PDFViewer.MouseMode != MouseModes.AnnotCreate) { viewContentViewModel.SelectedPrpoertyPanel("PropertyPanelContent", null); }
-
+                if (PDFViewer.MouseMode != MouseModes.AnnotCreate)
+                {
+                    viewContentViewModel.SelectedPrpoertyPanel("PropertyPanelContent", null);
+                }
+              
                 else { IsClickNull = true; }
+               
             }
         }
 
@@ -1856,6 +1859,7 @@ namespace PDF_Master.ViewModels.FillAndSign
             HookShapeIsCheck = true;
             HookShapeIsCheck = false;
             ShowPropertyPanel(false);
+            PDFViewer.SetMouseMode(MouseModes.PanTool);
             // InitCheckedEvent("RbtnTick");
             IsEdit = false;
 

+ 39 - 23
PDF Office/ViewModels/FillAndSign/PropertyPanel/ShapFillPropertyViewModel.cs

@@ -40,6 +40,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
         public List<List<Point>> updatapath = new List<List<Point>>();
         private Geometry dataPath = null;
         private bool IsFillAndSign = false;
+        private bool IsUpDataCreate = false;
         public string shape = "";
         public string Shape
         {
@@ -50,7 +51,14 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
             }
         }
 
-
+        public bool _isCreate = false;
+        public bool IsCreate
+        {
+            get {
+                if (fillAndSignContentViewModel != null) { if (fillAndSignContentViewModel.PDFViewer.MouseMode != MouseModes.AnnotCreate) { return false; } else { return true; } }
+            else { return false; }
+            }
+        }
         public string shapeType = "";
         public string ShapeType
         {
@@ -574,7 +582,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
 
             if (!fillAndSignContentViewModel.isFirst)
             {
-                fillAndSignContentViewModel.LineWidth = LineWidth;
+                
 
                 //if (FillAndSignContentViewModel.IsEdit)
                 {
@@ -584,7 +592,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
                 }
                 // else
                 {
-                    if (IsFillAndSign) { fillAndSignContentViewModel.SetStamp(); }
+                    if (IsFillAndSign&&IsUpDataCreate && IsCreate) { fillAndSignContentViewModel.LineWidth = LineWidth; fillAndSignContentViewModel.SetStamp(); }
 
                 }
 
@@ -601,7 +609,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
                 if (newColor.A != oldColor.A || newColor.B != oldColor.B || newColor.R != oldColor.R || newColor.G != oldColor.G)
                 {
                     ShapeColorColor = SelectColor;
-                    fillAndSignContentViewModel.SelectColor = SelectColor;
+                   
                     //if (FillAndSignContentViewModel.IsEdit)
                     {
                         // PropertyPanel.UpdateAnnotAAttrib(AnnotAttrib.Thickness, LineWidth * lineWidthMultiple);
@@ -610,7 +618,10 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
                     }
                     //else
                     {
-                        if (IsFillAndSign) { fillAndSignContentViewModel.SetStamp(); }
+                        if (IsFillAndSign&&IsUpDataCreate&&IsCreate) {
+                            fillAndSignContentViewModel.SelectColor = SelectColor;
+                            fillAndSignContentViewModel.SetStamp();
+                        }
 
                     }
                 }
@@ -620,7 +631,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
         {
             if (!fillAndSignContentViewModel.isFirst)
             {
-                fillAndSignContentViewModel.FillOpacity = FillOpacity;
+               
 
                 //if (FillAndSignContentViewModel.IsEdit)
                 {
@@ -630,7 +641,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
 
                 //else
                 {
-                    if (IsFillAndSign) { fillAndSignContentViewModel.SetStamp(); }
+                    if (IsFillAndSign&&IsUpDataCreate&&IsCreate) { fillAndSignContentViewModel.FillOpacity = FillOpacity; fillAndSignContentViewModel.SetStamp(); }
 
                 }
 
@@ -811,20 +822,20 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
                     if (item == list[0])
                         continue;
                     //区分图形是否一致,不一致则属性不选中任何图形
-                    //if (isNoEqualsDir["Shape"] == false)
-                    //{
-                    //    foreach (var point in fillAndSignContentViewModel.viewContentViewModel.FillAndSign)
-                    //    {
-                    //        if (item.PageIndex == point.PageIndex && item.AnnotIndex == point.AnnotIndex)
-                    //        {
-                    //            lineWidthMultiple = 1;
-                    //            if (point.Shape != tempShape)
-                    //            {
-                    //                isNoEqualsDir["Shape"] = true;
-                    //            }
-                    //        }
-                    //    }
-                    //}
+                    if (isNoEqualsDir["Shape"] == false)
+                    {
+                        foreach (var point in fillAndSignContentViewModel.viewContentViewModel.FillAndSign)
+                        {
+                            if (item.PageIndex == point.PageIndex && item.AnnotIndex == point.AnnotIndex)
+                            {
+                                lineWidthMultiple = 1;
+                                if (point.Shape != tempShape)
+                                {
+                                    isNoEqualsDir["Shape"] = true;
+                                }
+                            }
+                        }
+                    }
                     if (isNoEqualsDir["Color"] == false)
                     {
                         if (temp.InkColor.A != item.InkColor.A || temp.InkColor.R != item.InkColor.R || temp.InkColor.G != item.InkColor.G || temp.InkColor.B != item.InkColor.B)
@@ -838,25 +849,29 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
                 {
                     if (tempShape == "DotShape")
                     {
+                        ShapeType = "DotShape";
                         DotIsChecked = true;
 
                     }
                     if (tempShape == "LineShape")
                     {
+                        ShapeType = "LineShape";
                         LineIsChecked = true;
                     }
                     if (tempShape == "HookShape")
                     {
-
+                        ShapeType = "HookShape";
                         HookIsChecked = true;
                     }
                     if (tempShape == "RectShape")
                     {
+                        ShapeType = "RectShape";
                         RectIsChecked = true;
 
                     }
                     if (tempShape == "ForkShape")
                     {
+                        ShapeType = "ForkShape";
                         ForkIsChecked = true;
 
                     }
@@ -908,8 +923,9 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
                                     ForkIsChecked = true;
 
                                 }
+                                IsUpDataCreate = false;
                                 SelectColor = new SolidColorBrush(annot.InkColor);
-
+                                IsUpDataCreate=true;
 
                                 FillOpacity = annot.Transparency;
                                 InitShapesType(point.Shape);

+ 17 - 2
PDF Office/ViewModels/PropertyPanel/ViewModular/PageContentViewModel.cs

@@ -8,6 +8,7 @@ using Prism.Regions;
 using Prism.Services.Dialogs;
 using System;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -48,8 +49,22 @@ namespace PDF_Master.ViewModels.PropertyPanel.ViewModular
         {
             if (PDFViewer != null)
             {
-                PDFViewer.GoToPage(PDFViewer.CurrentIndex - 1);
-               
+                if (PDFViewer.RenderPageStart == PDFViewer.CurrentIndex)
+                {
+
+                    PDFViewer.GoToPage(PDFViewer.CurrentIndex - 1);
+                }
+                else
+                {
+                    if ((PDFViewer.RenderPageStart - 1) > 0)
+                    {
+                        PDFViewer.GoToPage(PDFViewer.RenderPageStart - 1);
+                    }
+                    else
+                    {
+                        PDFViewer.GoToPage(PDFViewer.CurrentIndex - 1);
+                    }
+                }
             }
         }
 

+ 19 - 3
PDF Office/ViewModels/PropertyPanel/ViewModular/ReadModeContentViewModel.cs

@@ -148,9 +148,25 @@ namespace PDF_Master.ViewModels.PropertyPanel.ViewModular
         /// <param name="obj"></param>
         private void PrePageEvent()
         {
-            int currentindex= PDFViewer.CurrentIndex;
-            PDFViewer.GoToPage(PDFViewer.CurrentIndex - 1);
-           
+            if (PDFViewer.RenderPageStart == PDFViewer.CurrentIndex)
+            {
+
+                PDFViewer.GoToPage(PDFViewer.CurrentIndex - 1);
+            }
+            else
+            {
+                if ((PDFViewer.RenderPageStart - 1) > 0)
+                {
+                    PDFViewer.GoToPage(PDFViewer.RenderPageStart - 1);
+                }
+                else
+                {
+                    PDFViewer.GoToPage(PDFViewer.CurrentIndex - 1);
+                }
+            }
+            Trace.WriteLine("当前" + PDFViewer.CurrentIndex);
+            Trace.WriteLine("结束" + PDFViewer.RenderPageEnd);
+            Trace.WriteLine("开始" + PDFViewer.RenderPageStart);
         }
 
         /// <summary>

+ 44 - 23
PDF Office/ViewModels/Tools/AnnotToolContentViewModel.Command.cs

@@ -82,8 +82,7 @@ namespace PDF_Master.ViewModels.Tools
                 PDFViewer.PreviewMouseLeftButtonDown += PDFViewer_PreviewMouseLeftButtonDown;
                 CommandManager.AddPreviewExecutedHandler(PDFViewer, PreviewExcutePDFViewer);
             }
-        }
-        
+        }
 
         //判断
         private void PreviewExcutePDFViewer(object sender, ExecutedRoutedEventArgs e)
@@ -101,16 +100,13 @@ namespace PDF_Master.ViewModels.Tools
                     {
                         foreach (var point in viewContentViewModel.FillAndSign)
                         {
-
                             if ((item as FreehandAnnotArgs).PageIndex == point.PageIndex && (item as FreehandAnnotArgs).AnnotIndex == point.AnnotIndex)
                             {
-
                                 ShapeNames.Add(point.Shape);
                                 Trace.WriteLine("woshi什么" + point.Shape);
                                 IsShape = true;
                                 continue;
                             }
-
                         }
                         if (!IsShape)
                         {
@@ -126,10 +122,9 @@ namespace PDF_Master.ViewModels.Tools
             }
             if (e.Command == ApplicationCommands.Copy)
             {
-
-
             }
         }
+
         private void UnBindingPDFViewerHandler()
         {
             if (PDFViewer != null)
@@ -1049,7 +1044,6 @@ namespace PDF_Master.ViewModels.Tools
                             {
                                 if (editEvent.EditAnnotArgs.EventType == AnnotArgsType.AnnotFreehand)
                                 {
-
                                     if (ShapeNames.Count != 0 && ShapeNames[i] != "Annot")
                                     {
                                         try
@@ -1058,28 +1052,48 @@ namespace PDF_Master.ViewModels.Tools
                                         }
                                         catch { }
                                     }
-
                                 }
                             }
-                            #endregion
+
+                            #endregion 区分复制填写签名图形
+
                             if (viewContentViewModel.CurrentBar != "TabItemAnnotation")
                             {
                                 //填写与签名在此区域不选中,不添加selectAnnotDicts词典当中
                             }
-                            else if (annot.EventType == AnnotArgsType.AnnotSquare || annot.EventType == AnnotArgsType.AnnotCircle ||
-                                annot.EventType == AnnotArgsType.AnnotLine || annot.EventType == AnnotArgsType.AnnotStamp ||
-                                annot.EventType == AnnotArgsType.AnnotFreeText || annot.EventType == AnnotArgsType.AnnotSticky/*|| annot.EventType == AnnotArgsType.AnnotFreehand*/)
+                            else
                             {
-                                if (selectAnnotDicts.ContainsKey(editEvent.PageIndex) == false)
+                                if (PropertyPanel.IsMultiSelected)
                                 {
-                                    selectAnnotDicts.Add(editEvent.PageIndex, new List<int>());
-                                    selectAnnotDicts[editEvent.PageIndex].Add(editEvent.AnnotIndex);
+                                    if (selectAnnotDicts.ContainsKey(editEvent.PageIndex) == false)
+                                    {
+                                        selectAnnotDicts.Add(editEvent.PageIndex, new List<int>());
+                                        selectAnnotDicts[editEvent.PageIndex].Add(editEvent.AnnotIndex);
+                                    }
+                                    else
+                                    {
+                                        selectAnnotDicts[editEvent.PageIndex].Add(editEvent.AnnotIndex);
+                                    }
+                                    isMultiple = true;
                                 }
                                 else
                                 {
-                                    selectAnnotDicts[editEvent.PageIndex].Add(editEvent.AnnotIndex);
+                                    if (annot.EventType == AnnotArgsType.AnnotSquare || annot.EventType == AnnotArgsType.AnnotCircle ||
+                                annot.EventType == AnnotArgsType.AnnotLine || annot.EventType == AnnotArgsType.AnnotStamp /*||
+                                annot.EventType == AnnotArgsType.AnnotSticky ||annot.EventType == AnnotArgsType.AnnotFreeText || annot.EventType == AnnotArgsType.AnnotFreehand*/)
+                                    {
+                                        if (selectAnnotDicts.ContainsKey(editEvent.PageIndex) == false)
+                                        {
+                                            selectAnnotDicts.Add(editEvent.PageIndex, new List<int>());
+                                            selectAnnotDicts[editEvent.PageIndex].Add(editEvent.AnnotIndex);
+                                        }
+                                        else
+                                        {
+                                            selectAnnotDicts[editEvent.PageIndex].Add(editEvent.AnnotIndex);
+                                        }
+                                        isMultiple = true;
+                                    }
                                 }
-                                isMultiple = true;
                             }
 
                             if (viewModel != null)
@@ -1103,7 +1117,16 @@ namespace PDF_Master.ViewModels.Tools
                             break;
 
                         case ActionType.Modify:
-
+                            if (string.IsNullOrEmpty(StrAnnotToolChecked) == false)
+                            {
+                                List<AnnotHandlerEventArgs> selectedArgs = new List<AnnotHandlerEventArgs>() { annot };
+                                switch (annot.EventType)
+                                {
+                                    case AnnotArgsType.AnnotFreeText://文本
+                                        GetFreetext(selectedArgs);
+                                        break;
+                                }
+                            }
                             if (viewModel != null)
                             {
                                 int pageindex = editEvent.PageIndex;
@@ -1123,7 +1146,6 @@ namespace PDF_Master.ViewModels.Tools
                                 {
                                     if (viewContentViewModel.FillAndSign[j].PageIndex == editEvent.PageIndex && viewContentViewModel.FillAndSign[j].AnnotIndex == editEvent.AnnotIndex)
                                     {
-
                                         viewContentViewModel.FillAndSign.Remove(viewContentViewModel.FillAndSign[j]);
                                     }
                                 }
@@ -1131,7 +1153,6 @@ namespace PDF_Master.ViewModels.Tools
                                 {
                                     if (viewContentViewModel.AnnotSignatures[j].Item1 == editEvent.PageIndex && viewContentViewModel.AnnotSignatures[j].Item2 == editEvent.AnnotIndex)
                                     {
-
                                         viewContentViewModel.AnnotSignatures.Remove(viewContentViewModel.AnnotSignatures[j]);
                                     }
                                 }
@@ -1242,8 +1263,8 @@ namespace PDF_Master.ViewModels.Tools
                 {
                     hoverRect = new Rect(
                    e.PaintRect.Left - 2,
-                   e.PaintRect.Top + 5,
-                   e.PaintRect.Width + 8,
+                   e.PaintRect.Top + 2,
+                   e.PaintRect.Width + 5,
                    e.PaintRect.Height + 2);
                 }
 

+ 2 - 2
PDF Office/ViewModels/Tools/AnnotToolContentViewModel.Function.cs

@@ -313,7 +313,7 @@ namespace PDF_Master.ViewModels.Tools
             {
                 highlightArgs = new TextHighlightAnnotArgs();
                 highlightArgs.Transparency = highLightOpacity;
-                highlightArgs.Color = (highLightColor as SolidColorBrush).Color;
+                highlightArgs.Color = (HighLightColor as SolidColorBrush).Color;
 
                 if (PropertyPanel.LastAnnotDict[AnnotArgsType.AnnotHighlight] == null)
                 {
@@ -322,7 +322,7 @@ namespace PDF_Master.ViewModels.Tools
                     {
                         defaultAnnot = new DefaultAnnotProperty();
                         defaultAnnot.AnnotToolType = highlightArgs.EventType;
-                        defaultAnnot.ForgoundColor = (highLightColor as SolidColorBrush).Color;
+                        defaultAnnot.ForgoundColor = (HighLightColor as SolidColorBrush).Color;
                         defaultAnnot.Opacity = 1;
                         SettingHelper.SetAnnotDefaultProperty(defaultAnnot);
                         Settings.Default.Save();

+ 3 - 0
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterDialog.xaml

@@ -118,6 +118,9 @@
                                                 <i:EventTrigger EventName="SelectionChanged">
                                                     <i:InvokeCommandAction Command="{Binding SetPageRangeSelectionIndexCommand}" CommandParameter="{Binding ElementName=PageRangeComboBox}"></i:InvokeCommandAction>
                                                 </i:EventTrigger>
+                                                <i:EventTrigger EventName="TextChanged">
+                                                    <i:InvokeCommandAction Command="{Binding PageTextChangedCommand}" CommandParameter="{Binding ElementName=PageRangeComboBox}" />
+                                                </i:EventTrigger>
                                                 <i:KeyTrigger FiredOn="KeyDown" Key="Return">
                                                     <i:InvokeCommandAction Command="{Binding SetCustomPageRangeCommand}" CommandParameter="{Binding ElementName=PageRangeComboBox}"></i:InvokeCommandAction>
                                                 </i:KeyTrigger>