Forráskód Böngészése

ComPDFKit(win) - 同步修改代码

youna 7 hónapja
szülő
commit
579e80fb64

+ 1 - 1
Demo/Examples/ComPDFKit.Tool/CPDFToolManager.cs

@@ -342,7 +342,7 @@ namespace ComPDFKit.Tool
 
             if (oldToolType == ToolType.ContentEdit)
             {
-                viewerTool.GetCPDFViewer().GetDocument().ReleasePages();
+                viewerTool.GetCPDFViewer().GetDocument()?.ReleasePages();
                 //Undo delete logic
                 viewerTool.GetCPDFViewer().UndoManager.ClearHistory();
                 // viewerTool.GetCPDFViewer().UndoManager.RemoveRedoHistoryForType(typeof(PDFEditHistory));

+ 2 - 3
Demo/Examples/ComPDFKit.Tool/CPDFViewerTool.Command.cs

@@ -480,10 +480,10 @@ namespace ComPDFKit.Tool
                     {
                         foreach (SelectedRect selectedRect in multiSelectedRect.Children)
                         {
-
                             EditAreaObject editAreaObject = GetEditAreaObjectListForRect(selectedRect);
                             if (editAreaObject != null)
                             {
+
                                 PDFEditCommandData commandData = new PDFEditCommandData();
                                 if (editAreaObject.cPDFEditArea.Type == CPDFEditType.EditText)
                                 {
@@ -533,8 +533,7 @@ namespace ComPDFKit.Tool
                                     }
                                 }
                             }
-                        }
-
+                        } 
                     }
                 }
             }

+ 1 - 3
Demo/Examples/ComPDFKit.Tool/CPDFViewerTool.xaml

@@ -13,8 +13,6 @@
     <ScrollViewer Focusable="False" CanContentScroll="True"
                   HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"
                   MouseUp="ScrollViewer_MouseUp" MouseDown="ScrollViewer_MouseDown">
-        <compdfkitviewer:CPDFViewer x:Name="PDFViewer">
-
-        </compdfkitviewer:CPDFViewer>
+        <compdfkitviewer:CPDFViewer x:Name="PDFViewer"></compdfkitviewer:CPDFViewer>
     </ScrollViewer>
 </UserControl>

+ 5 - 1
Demo/Examples/ComPDFKit.Tool/CPDFViewerTool.xaml.cs

@@ -520,7 +520,7 @@ namespace ComPDFKit.Tool
                 }
                 else
                 {
-                    if (Keyboard.IsKeyDown(multiKey) &&isMultiSelected)
+                    if (Keyboard.IsKeyDown(multiKey) && isMultiSelected)
                     {
                         DelMultiSelectRect();
                     }
@@ -862,6 +862,10 @@ namespace ComPDFKit.Tool
                                 break;
                         }
                     }
+                    else if (GetMultiSelectedRect() != null)
+                    {
+                        mouseEventObject.hitTestType = MouseHitTestType.MultiTextEdit;
+                    }
                 }
             }
             else

+ 2 - 3
Demo/Examples/Compdfkit.Controls/Annotation/PDFAnnotationList/PDFAnnotationListControl/CPDFAnnotationListControl.xaml.cs

@@ -170,10 +170,10 @@ namespace ComPDFKit.Controls.PDFControl
                                 IsMarkState = annotCore.IsMarkedStateAnnot()
                             };
 
-                            List<CPDFAnnotation> replyAnnotations = annotCore?.GetReplies();
+                            List<CPDFTextAnnotation> replyAnnotations = annotCore?.GetReplies();
                             if (replyAnnotations != null && replyAnnotations.Count > 0)
                             {
-                                foreach (CPDFAnnotation replyAnnot in replyAnnotations)
+                                foreach (CPDFTextAnnotation replyAnnot in replyAnnotations)
                                 {
                                     if (replyAnnot == null)
                                     {
@@ -271,7 +271,6 @@ namespace ComPDFKit.Controls.PDFControl
             {
                 Directory.CreateDirectory(tempPath);
             }
-
             if (pdfViewer.PDFToolManager.GetDocument().ExportAnnotationToXFDFPath(selectedPath, tempPath))
             {
                 System.Diagnostics.Process.Start("explorer.exe", "/select," + selectedPath);

+ 1 - 1
Demo/Examples/Compdfkit.Controls/Annotation/PDFAnnotationList/PDFAnnotationListUI/CPDFAnnotationListUI.xaml.cs

@@ -64,7 +64,7 @@ namespace ComPDFKit.Controls.PDFControlUI
             get => ReplyList.Count.ToString();
         }
 
-        private bool _isReplyListVisible;
+        private bool _isReplyListVisible = true;
         public bool IsReplyListVisible
         {
             get { return _isReplyListVisible; }

+ 1 - 0
Demo/Examples/Compdfkit.Controls/Annotation/PDFAnnotationPanel/PDFAnnotationUI/CPDFSignatureUI.xaml.cs

@@ -76,6 +76,7 @@ namespace ComPDFKit.Controls.Annotation.PDFAnnotationPanel.PDFAnnotationUI
             {
                 FillForm(((sender as ListBoxItem).DataContext as CPDFSignatureData).SourcePath);
             }
+            viewControl.PDFViewTool.IsDocumentModified = true;
         }
 
         private void FillForm(string imagePath)

+ 40 - 19
Demo/Examples/Compdfkit.Controls/Edit/ContentEditCOntrol/ContentEditControl.xaml.cs

@@ -28,6 +28,7 @@ using KeyEventHandler = System.Windows.Input.KeyEventHandler;
 using MenuItem = System.Windows.Controls.MenuItem;
 using OpenFileDialog = Microsoft.Win32.OpenFileDialog;
 using UserControl = System.Windows.Controls.UserControl;
+using System.Linq;
 
 namespace ComPDFKit.Controls.PDFControl
 {
@@ -54,7 +55,7 @@ namespace ComPDFKit.Controls.PDFControl
         private bool textAreaCreating = false;
 
         public event PropertyChangedEventHandler PropertyChanged;
-         
+
         public bool CanUndo
         {
             get
@@ -71,7 +72,7 @@ namespace ComPDFKit.Controls.PDFControl
                 catch (Exception ex)
                 {
 
-                } 
+                }
                 return false;
             }
         }
@@ -156,7 +157,7 @@ namespace ComPDFKit.Controls.PDFControl
             PdfViewControl.PDFViewTool.GetCPDFViewer().SetIsShowStampMouse(false);
             PdfViewControl.PDFViewTool.SelectedEditAreaForIndex(-1, -1);
         }
-         
+
         public void SetViewSettings(Visibility visibility, CPDFDisplaySettingsControl displaySettingsControl = null)
         {
             this.PropertyContainer.Child = displaySettingsControl;
@@ -173,7 +174,7 @@ namespace ComPDFKit.Controls.PDFControl
         {
             this.displaySettingsControl = displaySettingsControl;
         }
-         
+
         public void InitWithPDFViewer(PDFViewControl view)
         {
             PdfViewControl.PDFViewTool.GetCPDFViewer().UndoManager.PropertyChanged -= UndoManager_PropertyChanged;
@@ -204,7 +205,7 @@ namespace ComPDFKit.Controls.PDFControl
 
         private void PdfViewControl_DrawChanged(object sender, EventArgs e)
         {
-            if(textAreaCreating && PdfViewControl.PDFToolManager.GetCreateContentEditType() == CPDFEditType.EditText)
+            if (textAreaCreating && PdfViewControl.PDFToolManager.GetCreateContentEditType() == CPDFEditType.EditText)
             {
                 textAreaCreating = false;
                 int pageIndex = -1;
@@ -434,7 +435,7 @@ namespace ComPDFKit.Controls.PDFControl
             PropertyContainer.Child = propertytPanel;
             PropertyContainer.Visibility = visible;
         }
-         
+
         private void PanelState_PropertyChanged(object sender, PropertyChangedEventArgs e)
         {
             if (e.PropertyName == nameof(PanelState.IsLeftPanelExpand))
@@ -616,6 +617,9 @@ namespace ComPDFKit.Controls.PDFControl
                 case MouseHitTestType.ImageEdit:
                     CreateImageEditMenu(sender, ref ContextMenu);
                     break;
+                case MouseHitTestType.MultiTextEdit:
+                    CreateMultiTextEditMenu(sender, ref ContextMenu);
+                    break;
                 default:
                     ContextMenu.Items.Add(new MenuItem() { Header = LanguageHelper.CommonManager.GetString("Menu_Paste"), Command = ApplicationCommands.Paste, CommandTarget = (UIElement)sender });
                     ContextMenu.Items.Add(new MenuItem() { Header = LanguageHelper.CommonManager.GetString("Menu_MatchPaste"), Command = CustomCommands.PasteWithoutStyle, CommandTarget = (UIElement)sender });
@@ -624,7 +628,7 @@ namespace ComPDFKit.Controls.PDFControl
             PdfViewControl.SetRightMenu(ContextMenu);
         }
         #endregion
-        
+
         #region Property changed
         protected void OnPropertyChanged([CallerMemberName] string name = null)
         {
@@ -686,27 +690,36 @@ namespace ComPDFKit.Controls.PDFControl
                     PdfViewControl.PDFToolManager.SetCreateContentEditType(CPDFEditType.None);
                 }
 
-                if(PdfViewControl.PDFToolManager.GetCreateContentEditType() == CPDFEditType.EditText)
+                if (PdfViewControl.PDFToolManager.GetCreateContentEditType() == CPDFEditType.EditText)
                 {
                     textAreaCreating = true;
                 }
             }
 
             int pageIndex = -1;
-            CPDFEditArea editAreaArea = PdfViewControl.PDFToolManager.GetSelectedEditAreaObject(ref pageIndex);
-            if (editAreaArea == null)
-            {
-                return;
-            }
-            else
+            CPDFEditArea editArea = PdfViewControl.PDFToolManager.GetSelectedEditAreaObject(ref pageIndex);
+            List<int> pageInts = new List<int>();
+            List<CPDFEditArea> editAreas = PdfViewControl.PDFToolManager.GetSelectedEditAreaListObject(ref pageInts);
+
+            if (editArea != null)
             {
-                if (editAreaArea.Type == CPDFEditType.EditText)
+                if (editArea.Type == CPDFEditType.EditText)
                 {
-                    PDFEditParam pDFEditParam = ParamConverter.CPDFDataConverterToPDFEitParam(PdfViewControl.PDFToolManager.GetDocument(), editAreaArea, pageIndex);
+                    PDFEditParam pDFEditParam = ParamConverter.CPDFDataConverterToPDFEitParam(PdfViewControl.PDFToolManager.GetDocument(), editArea, pageIndex);
                     pdfContentEditControl.SetPDFTextEditData((TextEditParam)pDFEditParam, true);
                     PropertyContainer.Child = pdfContentEditControl;
                 }
-                //panelState.RightPanel = PanelState.RightPanelState.PropertyPanel;
+            }
+            else if (editAreas != null && editAreas.Count != 0)
+            {
+                editAreas
+                    .OfType<CPDFEditTextArea>()
+                    .ToList()
+                    .ForEach(textArea => textArea.SelectAllChars()); 
+            }
+            else
+            {
+                return;
             }
         }
 
@@ -725,7 +738,7 @@ namespace ComPDFKit.Controls.PDFControl
             {
                 if (PdfViewControl.PDFToolManager.GetCreateContentEditType() != CPDFEditType.EditText)
                 {
-                    pdfContentEditControl.ClearContentControl(); 
+                    pdfContentEditControl.ClearContentControl();
                 }
                 return;
             }
@@ -749,7 +762,7 @@ namespace ComPDFKit.Controls.PDFControl
                     PDFEditParam pDFEditParam = ParamConverter.CPDFDataConverterToPDFEitParam(PdfViewControl.PDFToolManager.GetDocument(), editAreaArea, pageIndex);
                     pdfContentEditControl.SetPDFImageEditData((ImageEditParam)pDFEditParam);
                     PropertyContainer.Child = pdfContentEditControl;
-                } 
+                }
             }
         }
 
@@ -969,6 +982,14 @@ namespace ComPDFKit.Controls.PDFControl
             menu.Items.Add(new MenuItem() { Header = LanguageHelper.CommonManager.GetString("Menu_Delete"), Command = ApplicationCommands.Delete, CommandTarget = (UIElement)sender });
             menu.Items.Add(new MenuItem() { Header = LanguageHelper.CommonManager.GetString("Menu_Paste"), Command = ApplicationCommands.Paste, CommandTarget = (UIElement)sender });
         }
+
+        private void CreateMultiTextEditMenu(object sender, ref ContextMenu menu)
+        {
+            menu.Items.Add(new MenuItem() { Header = LanguageHelper.CommonManager.GetString("Menu_Copy"), Command = ApplicationCommands.Copy, CommandTarget = (UIElement)sender });
+            menu.Items.Add(new MenuItem() { Header = LanguageHelper.CommonManager.GetString("Menu_Cut"), Command = ApplicationCommands.Cut, CommandTarget = (UIElement)sender });
+            menu.Items.Add(new MenuItem() { Header = LanguageHelper.CommonManager.GetString("Menu_Delete"), Command = ApplicationCommands.Delete, CommandTarget = (UIElement)sender });
+            menu.Items.Add(new MenuItem() { Header = LanguageHelper.CommonManager.GetString("Menu_Paste"), Command = ApplicationCommands.Paste, CommandTarget = (UIElement)sender });
+        }
     }
 }
 #endregion

+ 2 - 5
Demo/Examples/Compdfkit.Controls/Edit/PDFTextEdit/PDFTextEditControl/PDFTextEditControl.xaml.cs

@@ -26,16 +26,13 @@ namespace ComPDFKit.Controls.Edit
 
         public event PropertyChangedEventHandler PropertyChanged;
 
-        private bool _isMultiSelected;
+        private bool _isMultiSelected = true;
         public bool IsMultiSelected
         {
             get => _isMultiSelected;
             set
             {
-                if (UpdateProper(ref _isMultiSelected, value))
-                {
-                    ToolView.GetCPDFViewer().UpdateRenderFrame();
-                }
+                UpdateProper(ref _isMultiSelected, value);
             }
         }
 

+ 2 - 0
Demo/Examples/Compdfkit.Controls/PDFView/PDFViewControl/PDFViewControl.xaml.cs

@@ -225,6 +225,8 @@ namespace ComPDFKit.Controls.PDFControl
                 PDFViewTool.GetCPDFViewer().SetFitMode(FitMode.FitHeight);
                 PDFViewTool.GetCPDFViewer().SetViewMode(ViewMode.SingleContinuous);
 
+                PDFViewTool.SetIsMultiSelected(true);
+
                 splitViewerTool.GetCPDFViewer().InitDoc(pdfDoc);
 
                 splitViewerTool.GetCPDFViewer().SetFitMode(FitMode.FitHeight);

+ 6 - 7
Demo/Examples/Compdfkit.Controls/Printer/PrintHelper.cs

@@ -174,11 +174,11 @@ namespace ComPDFKit.Controls.Printer
                     {
                         for (int x = 0; x < w; x++)
                         {
-                            if (mode == 0) // 加权平均
+                            if (mode == 0) 
                             {
                                 newColor = (byte)((float)p[0] * 0.114f + (float)p[1] * 0.587f + (float)p[2] * 0.299f);
                             }
-                            else    // 算数平均
+                            else   
                             {
                                 newColor = (byte)((float)(p[0] + p[1] + p[2]) / 3.0f);
                             }
@@ -286,7 +286,7 @@ namespace ComPDFKit.Controls.Printer
 
                     byte[] bmpData = new byte[(int)(pageSize.Width * pageSize.Height * 4)];
 
-                    page.RenderPageBitmap(0, 0, pageSize.Width, pageSize.Height, 0xFFFFFFFF, bmpData, printSettingsInfo.IsPrinAnnot ? 1 : 0, printSettingsInfo.IsPrintForm);
+                    page.RenderPageBitmap(0, 0, pageSize.Width, pageSize.Height, 0xFFFFFFFF, bmpData, printSettingsInfo.IsPrintAnnot ? 1 : 0, printSettingsInfo.IsPrintForm);
                     Bitmap bitmap = BuildBmp((int)pageSize.Width, (int)pageSize.Height, bmpData);
 
                     if (printSettingsInfo.IsGrayscale)
@@ -406,7 +406,7 @@ namespace ComPDFKit.Controls.Printer
                             e.HasMorePages = false;
                             if (PrintIndex % 2 == 0)
                             {
-
+                                //
                             }
                         }
                     }
@@ -435,11 +435,10 @@ namespace ComPDFKit.Controls.Printer
                     break;
                 case PosterModeInfo _:
                     break;
-                case MultipleModeInfo _:
+                case MultipleModeInfo _: 
 
                     break;
-                case BookletModeInfo _:
-
+                case BookletModeInfo _: 
                     break;
             }
         }

+ 1 - 1
Demo/Examples/Compdfkit.Controls/Printer/PrintPreviewControl.xaml.cs

@@ -288,7 +288,7 @@ namespace ComPDFKit.Controls.PDFControl
 
             if (page != null)
             {
-                page.RenderPageBitmapWithMatrix((float)1, pageRect, 0xFFFFFFFF, bmpData, printSettingsInfo.IsPrinAnnot?1:0, printSettingsInfo.IsPrintForm);
+                page.RenderPageBitmapWithMatrix((float)1, pageRect, 0xFFFFFFFF, bmpData, printSettingsInfo.IsPrintAnnot?1:0, printSettingsInfo.IsPrintForm);
                 Point startPoint = new Point(0, 0);
 
                 Bitmap bitmap = PrintHelper.BuildBmp((int)pageRect.width(), (int)pageRect.height(), bmpData);

+ 4 - 4
Demo/Examples/Compdfkit.Controls/Printer/PrinterDialog.xaml.cs

@@ -138,7 +138,7 @@ namespace ComPDFKit.Controls.PDFControl
             printSettingsInfo.PrintOrientation = PrintOrientation.Portrait;
             printSettingsInfo.PaperSize = printerSettings.PaperSizes[cmbPaper.SelectedIndex];
 
-            printSettingsInfo.IsPrinAnnot = true;
+            printSettingsInfo.IsPrintAnnot = true;
             printSettingsInfo.IsPrintForm = true;
             printSettingsInfo.IsReverseOrder = false;
             printSettingsInfo.IsGrayscale = false;
@@ -206,15 +206,15 @@ namespace ComPDFKit.Controls.PDFControl
             switch (tag)
             {
                 case "Document":
-                    printSettingsInfo.IsPrinAnnot = false;
+                    printSettingsInfo.IsPrintAnnot = false;
                     printSettingsInfo.IsPrintForm = false;
                     break;
                 case "Document and Markups":
-                    printSettingsInfo.IsPrinAnnot = true;
+                    printSettingsInfo.IsPrintAnnot = true;
                     printSettingsInfo.IsPrintForm = true;
                     break;
                 case "Document and Stamps":
-                    printSettingsInfo.IsPrinAnnot = true;
+                    printSettingsInfo.IsPrintAnnot = true;
                     printSettingsInfo.IsPrintForm = false;
                     break;
             }

+ 1 - 1
Demo/Examples/Compdfkit.Controls/Printer/PrinterModel.cs

@@ -92,7 +92,7 @@ namespace ComPDFKit.Controls
         public bool NeedRerendering { get; set; } = true;
         public bool IsPaperSizeChanged { get; set; } = false;
         public bool NeedReversePage { get; set; } = false;
-        public bool IsPrinAnnot { get; set; } = true;
+        public bool IsPrintAnnot { get; set; } = true;
         public bool IsPrintForm { get; set; } = true;
 
         public int Copies { get; set; } = 1;

+ 2 - 2
Demo/Examples/Compdfkit.Controls/Properties/AssemblyInfo.cs

@@ -51,5 +51,5 @@ using System.Windows;
 // You can specify all the values or you can default the Build and Revision Numbers
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.13.0.0")]
-[assembly: AssemblyFileVersion("1.13.0.0")]
+[assembly: AssemblyVersion("2.1.0.0")]
+[assembly: AssemblyFileVersion("2.1.0.0")]