Ver código fonte

Merge remote-tracking branch 'origin/compdfkit_demo_win_dev' into compdfkit_demo_win_dev

TangJinZhou 7 meses atrás
pai
commit
c242fc407f

+ 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
                             {

+ 1 - 1
Demo/Examples/ComPDFKit.Tool/CPDFViewerTool.TextEdit.cs

@@ -1643,7 +1643,7 @@ namespace ComPDFKit.Tool
                     textEditParam.FontSize = 14;
                 }
 
-                if (textEditParam.FontColor == null || textEditParam.FontColor.Length <= 3)
+                if (textEditParam.FontColor == null || textEditParam.FontColor.Length < 3)
                 {
                     textEditParam.FontColor = new byte[3] { 0, 0, 0 };
                 }

+ 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)