Browse Source

ComPDFKit.Demo(win) - 修复加密文档无法搜索文字的问题

TangJinZhou 7 months ago
parent
commit
1fa33852f8

+ 2 - 1
Demo/Examples/Annotations/MainWindow.xaml.cs

@@ -143,7 +143,7 @@ namespace AnnotationViewControl
             CPDFSaclingControl.SetZoomTextBoxText(string.Format("{0}", (int)(annotationControl.PDFViewControl.PDFView.ZoomFactor * 100)));
 
             ViewSettingBtn.IsChecked = false;
-            botaBarControl.InitWithPDFViewer(annotationControl.PDFViewControl.PDFView);
+            botaBarControl.InitWithPDFViewer(annotationControl.PDFViewControl.PDFView, annotationControl.PDFViewControl.Password);
             botaBarControl.AddBOTAContent(new []{BOTATools.Thumbnail , BOTATools.Outline , BOTATools.Bookmark , BOTATools.Annotation , BOTATools.Search});
             botaBarControl.SelectBotaTool(BOTATools.Thumbnail);
             annotationControl.SetBOTAContainer(botaBarControl);
@@ -206,6 +206,7 @@ namespace AnnotationViewControl
                     PasswordUI.ClearPassword();
                     PasswordUI.Visibility = Visibility.Collapsed;
                     PopupBorder.Visibility = Visibility.Collapsed;
+                    passwordViewer.Password = e;
                     pdfViewer = passwordViewer;
                     LoadDocument();
                 }

+ 8 - 4
Demo/Examples/Compdfkit_Tools/Common/BarControl/CPDFBOTABarControl.xaml.cs

@@ -43,7 +43,9 @@ namespace Compdfkit_Tools.PDFControl
         private ToggleButton searchButton;
         private CPDFSearchControl searchControl;
         private ToggleButton signatureButton;
-        ToggleButton checkBtn;
+        private ToggleButton checkBtn;
+
+        private string password;
 
         public bool ReplaceFunctionEnabled
         {
@@ -68,13 +70,15 @@ namespace Compdfkit_Tools.PDFControl
             InitBOTAButtons();
         }
 
-        public void InitWithPDFViewer(CPDFViewer pdfViewer)
+        public void InitWithPDFViewer(CPDFViewer pdfViewer,string password="")
         {
             this.pdfViewer = pdfViewer;
+            this.password = password;
+
             UIElement currentBotaTool = GetBotaTool();
             if (currentBotaTool is CPDFSearchControl)
             {
-                ((CPDFSearchControl)currentBotaTool).InitWithPDFViewer(pdfViewer);
+                ((CPDFSearchControl)currentBotaTool).InitWithPDFViewer(pdfViewer,password);
             }
 
             if (currentBotaTool is CPDFThumbnailControl)
@@ -406,7 +410,7 @@ namespace Compdfkit_Tools.PDFControl
 
                                     if (pdfViewer != null && pdfViewer.Document != null)
                                     {
-                                        searchControl.InitWithPDFViewer(pdfViewer);
+                                        searchControl.InitWithPDFViewer(pdfViewer, password);
                                     }
                                 }
                                 searchControl.ReplaceTog.Visibility = ReplaceFunctionEnabled ? Visibility.Visible : Visibility.Collapsed;

+ 6 - 2
Demo/Examples/Compdfkit_Tools/PDFView/PDFSearch/PDFSearchControl/CPDFSearchControl.xaml.cs

@@ -32,6 +32,9 @@ namespace Compdfkit_Tools.PDFControl
         private SolidColorBrush highLightBrush = new SolidColorBrush(Color.FromArgb(0x99, 0xFF, 0xF7, 0x00));
 
         private bool _isCaseSensitive = true;
+
+        private string password = "";
+
         public bool IsCaseSensitive
         {
             set
@@ -76,12 +79,13 @@ namespace Compdfkit_Tools.PDFControl
             DataContext = this;
         }
 
-        public void InitWithPDFViewer(CPDFViewer newPDFView)
+        public void InitWithPDFViewer(CPDFViewer newPDFView,string pwd = "")
         {
             if (pdfView != newPDFView)
             {
                 ClearSearchResult();
                 pdfView = newPDFView;
+                password = pwd;
             }
         }
 
@@ -255,7 +259,7 @@ namespace Compdfkit_Tools.PDFControl
                 ProgressBar.ProgressMaxValue = pdfView.Document.PageCount;
                 ProgressBorder.Visibility = Visibility.Visible;
                 pdfView.ClearSelectedText();
-                textSearch.SearchText(keyWord, searchOption);
+                textSearch.SearchText(keyWord, searchOption, password);
             }
             else if (ReplaceTog.IsChecked == true)
             {

+ 4 - 0
Demo/Examples/Compdfkit_Tools/PDFView/PDFViewControl/PDFViewControl.xaml.cs

@@ -25,8 +25,12 @@ namespace Compdfkit_Tools.PDFControl
 
         public bool CustomSignHandle { get; set; }
 
+        public string Password { get; set; }
+
         private double[] zoomLevelList = { 1f, 8f, 12f, 25, 33f, 50, 66f, 75, 100, 125, 150, 200, 300, 400, 600, 800, 1000 };
+       
         #endregion
+
         public PDFViewControl()
         {
             InitializeComponent();

+ 2 - 1
Demo/Examples/ContentEditor/MainWindow.xaml.cs

@@ -144,7 +144,7 @@ namespace ContentEditorViewControl
             CPDFSaclingControl.SetZoomTextBoxText(string.Format("{0}", (int)(contentEditControl.PdfViewControl.PDFView.ZoomFactor * 100)));
 
             ViewSettingBtn.IsChecked = false;
-            botaBarControl.InitWithPDFViewer(contentEditControl.PdfViewControl.PDFView);
+            botaBarControl.InitWithPDFViewer(contentEditControl.PdfViewControl.PDFView, contentEditControl.PdfViewControl.Password);
             botaBarControl.AddBOTAContent(new[] { BOTATools.Thumbnail, BOTATools.Outline, BOTATools.Bookmark, BOTATools.Annotation, BOTATools.Search });
             botaBarControl.SelectBotaTool(BOTATools.Thumbnail);
             contentEditControl.SetBOTAContainer(botaBarControl);
@@ -206,6 +206,7 @@ namespace ContentEditorViewControl
                     PasswordUI.ClearPassword();
                     PasswordUI.Visibility = Visibility.Collapsed;
                     PopupBorder.Visibility = Visibility.Collapsed;
+                    passwordViewer.Password = e;
                     pdfViewer = passwordViewer;
                     LoadDocument();
                 }

+ 2 - 1
Demo/Examples/DigitalSignature/MainWindow.xaml.cs

@@ -232,7 +232,7 @@ namespace DigitalSignature
             PasswordUI.Canceled += PasswordUI_Canceled;
             PasswordUI.Confirmed += PasswordUI_Confirmed;
             ModeComboBox.SelectedIndex = 0;
-            botaBarControl.InitWithPDFViewer(pdfViewer.PDFView);
+            botaBarControl.InitWithPDFViewer(pdfViewer.PDFView, pdfViewer.Password);
             botaBarControl.AddBOTAContent(new []{BOTATools.Thumbnail , BOTATools.Outline , BOTATools.Bookmark , BOTATools.Search , BOTATools.Annotation , BOTATools.Signature});
             botaBarControl.SelectBotaTool(BOTATools.Thumbnail);
             botaBarControl.DeleteSignatureEvent -= BotaControlOnDeleteSignatureEvent;
@@ -267,6 +267,7 @@ namespace DigitalSignature
                     PasswordUI.ClearPassword();
                     PasswordUI.Visibility = Visibility.Collapsed;
                     PopupBorder.Visibility = Visibility.Collapsed;
+                    passwordViewer.Password = e;
                     pdfViewer = passwordViewer;
                     LoadDocument();
                 }

+ 1 - 0
Demo/Examples/DocsEditor/MainWindow.xaml.cs

@@ -371,6 +371,7 @@ namespace DocsEditor
                     PasswordUI.Visibility = Visibility.Collapsed;
                     PopupBorder.Visibility = Visibility.Collapsed;
                     pdfViewControl.PDFView.Document.Release();
+                    passwordViewer.Password = e;
                     pdfViewControl = passwordViewer;
                     LoadDocument();
                 }

+ 2 - 1
Demo/Examples/Forms/MainWindow.xaml.cs

@@ -143,7 +143,7 @@ namespace FormViewControl
             CPDFSaclingControl.SetZoomTextBoxText(string.Format("{0}", (int)(formControl.PdfViewControl.PDFView.ZoomFactor * 100)));
             
             ViewSettingBtn.IsChecked = false;
-            botaBarControl.InitWithPDFViewer(formControl.PdfViewControl.PDFView);
+            botaBarControl.InitWithPDFViewer(formControl.PdfViewControl.PDFView, formControl.PdfViewControl.Password);
             botaBarControl.AddBOTAContent(new []{BOTATools.Thumbnail , BOTATools.Outline , BOTATools.Bookmark , BOTATools.Annotation , BOTATools.Search});
             botaBarControl.SelectBotaTool(BOTATools.Thumbnail);
             formControl.SetBOTAContainer(botaBarControl);
@@ -210,6 +210,7 @@ namespace FormViewControl
                     PasswordUI.ClearPassword();
                     PasswordUI.Visibility = Visibility.Collapsed;
                     PopupBorder.Visibility = Visibility.Collapsed;
+                    passwordViewer.Password = e;
                     pdfViewer = passwordViewer;
                     LoadDocument();
                 }

+ 1 - 0
Demo/Examples/Measure/MainWindow.xaml.cs

@@ -178,6 +178,7 @@ namespace Measure
                     PasswordUI.ClearPassword();
                     PasswordUI.Visibility = Visibility.Collapsed;
                     PopupBorder.Visibility = Visibility.Collapsed;
+                    passwordViewer.Password = e;
                     pdfViewControl = passwordViewer;
                     LoadDocument();
                 }

+ 1 - 1
Demo/Examples/PDFViewer/MainPage.xaml.cs

@@ -169,7 +169,7 @@ namespace PDFViewer
             CPDFSaclingControl.SetZoomTextBoxText(string.Format("{0}", (int)(pdfViewer.PDFView.ZoomFactor * 100)));
 
             ViewSettingBtn.IsChecked = false;
-            botaBarControl.InitWithPDFViewer(pdfViewer.PDFView);
+            botaBarControl.InitWithPDFViewer(pdfViewer.PDFView, pdfViewer.Password);
             ModeComboBox.SelectedIndex = 0;
             botaBarControl.AddBOTAContent(new[] { BOTATools.Thumbnail, BOTATools.Outline, BOTATools.Bookmark, BOTATools.Annotation, BOTATools.Search });
             botaBarControl.SelectBotaTool(BOTATools.Thumbnail);

+ 1 - 0
Demo/Examples/PDFViewer/MainWindow.xaml.cs

@@ -291,6 +291,7 @@ namespace PDFViewer
                     PasswordUI.ClearPassword();
                     PasswordUI.Visibility = Visibility.Collapsed;
                     PopupBorder.Visibility = Visibility.Collapsed;
+                    passwordViewer.Password = e;
                     pdfViewControl = passwordViewer;
 
                     string filePath = passwordViewer.PDFView.Document.FilePath;

+ 2 - 3
Demo/Examples/Viewer/MainWindow.xaml.cs

@@ -54,8 +54,6 @@ namespace Viewer
         }
         #endregion
 
-
-
         public MainWindow()
         {
             InitializeComponent();
@@ -99,7 +97,7 @@ namespace Viewer
             CPDFSaclingControl.SetZoomTextBoxText(string.Format("{0}", (int)(pdfViewControl.PDFView.ZoomFactor * 100)));
 
             FloatPageTool.InitWithPDFViewer(pdfViewControl.PDFView);
-            BotaSideTool.InitWithPDFViewer(pdfViewControl.PDFView);
+            BotaSideTool.InitWithPDFViewer(pdfViewControl.PDFView, pdfViewControl.Password);
             BotaSideTool.SelectBotaTool(BOTATools.Thumbnail);
             ViewSettingBtn.IsChecked = false;
             PropertyContainer.Child = null;
@@ -127,6 +125,7 @@ namespace Viewer
                     PasswordUI.ClearPassword();
                     PasswordUI.Visibility = Visibility.Collapsed;
                     PopupBorder.Visibility = Visibility.Collapsed;
+                    passwordViewer.Password = e;
                     pdfViewControl = passwordViewer;
                     LoadDocument();
                 }