Browse Source

ComPDFKit.Tool(win)-补充是否连续创建文字编辑逻辑

liyijie 7 months ago
parent
commit
26c7744912

+ 5 - 2
Demo/Examples/ComPDFKit.Tool/CPDFToolManager.cs

@@ -866,7 +866,7 @@ namespace ComPDFKit.Tool
                             }
                             else
                             {
-                                if (isActiveCropping) 
+                                if (isActiveCropping)
                                 {
                                     CropSelectRect();
                                     viewerTool.SetClipRect();
@@ -918,7 +918,10 @@ namespace ComPDFKit.Tool
                             }
                             else if (createContentEditType == CPDFEditType.EditText)
                             {
-                                e.IsCreate = viewerTool.DrawEndTest();
+                                if (viewerTool.CanAddTextEdit)
+                                {
+                                    e.IsCreate = viewerTool.DrawEndTest();
+                                }
                             }
                             else
                             {

+ 34 - 2
Demo/Examples/ComPDFKit.Tool/CPDFViewerTool.xaml.cs

@@ -1,4 +1,5 @@
-using ComPDFKit.PDFAnnotation;
+using ComPDFKit.Import;
+using ComPDFKit.PDFAnnotation;
 using ComPDFKit.PDFDocument;
 using ComPDFKit.PDFDocument.Action;
 using ComPDFKit.PDFPage;
@@ -124,11 +125,29 @@ namespace ComPDFKit.Tool
         private bool isMultiSelected;
         private bool isDocumentModified = false;
 
+
+
+        public bool CanAddTextEdit = true;
+
+        protected bool isContinueCreateTextEdit = false;
+
         public bool GetIsMultiSelected()
         {
             return isMultiSelected;
         }
 
+        /// <summary>
+        /// Set whether continuous text editing is required
+        /// </summary>
+        /// <param name="isContinueCreateTextEdit"></param>
+        public void SetContinueCreateTextEdit(bool isContinueCreateTextEdit)
+        {
+
+            this.isContinueCreateTextEdit = isContinueCreateTextEdit;
+            CanAddTextEdit = true;
+        }
+
+
         /// <summary>
         ///  Does it support multiple selection
         /// </summary>
@@ -301,6 +320,19 @@ namespace ComPDFKit.Tool
 
         protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
         {
+            if (isContinueCreateTextEdit)
+            {
+
+                if (lastSelectedRect != null)
+                {
+                    CanAddTextEdit = false;
+                }
+                else
+                {
+                    CanAddTextEdit = true;
+                }
+            }
+
             if (PDFViewer == null || PDFViewer.CurrentRenderFrame == null)
             {
                 return;
@@ -499,7 +531,7 @@ namespace ComPDFKit.Tool
                         startSelectedIndex = -1;
                         startSelectedPageIndex = -1;
                         startSelectedEditAreaObject = null;
-
+                        
                         CleanSelectedMultiRect();
                         OpenSelectedMulti(false);
                         if (PDFViewer.CurrentRenderFrame != null)