浏览代码

其他 - 替换文字编辑Demo 部分内容

liyuxuan 1 年之前
父节点
当前提交
0fc1862da8
共有 1 个文件被更改,包括 71 次插入73 次删除
  1. 71 73
      Demo/Examples/ContentEditor/MainWindow.xaml.cs

+ 71 - 73
Demo/Examples/ContentEditor/MainWindow.xaml.cs

@@ -1,42 +1,30 @@
-using Compdfkit_Tools.Helper;
+using ComPDFKit.PDFDocument;
+using Compdfkit_Tools.Helper;
 using Compdfkit_Tools.PDFControl;
+using Compdfkit_Tools.PDFView;
+using ComPDFKitViewer;
+using Microsoft.Win32;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
-using System.Linq;
 using System.Runtime.CompilerServices;
-using System.Text;
-using System.Threading.Tasks;
 using System.Windows;
 using System.Windows.Controls;
 using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using Compdfkit_Tools.PDFView;
-using ComPDFKit.PDFDocument;
-using ComPDFKit.PDFPage;
-using ComPDFKitViewer;
-using ComPDFKitViewer.PdfViewer;
-using Microsoft.Win32;
 
 namespace ContentEditorViewControl
 {
     /// <summary>
     /// Interaction logic for MainWindow.xaml
     /// </summary>
-   public partial class MainWindow: Window, INotifyPropertyChanged
+    public partial class MainWindow: Window, INotifyPropertyChanged
     {
         #region Properties
         
         private PanelState panelState = PanelState.GetInstance();
         private CPDFDisplaySettingsControl displaySettingsControl = new CPDFDisplaySettingsControl();
         private RegularViewerControl regularViewerControl = new RegularViewerControl();
-        private PDFViewControl pdfViewer;
+        private PDFViewControl viewControl;
         private PDFViewControl passwordViewer;
         private ContentEditControl contentEditControl = new ContentEditControl();
         private CPDFBOTABarControl botaBarControl = new CPDFBOTABarControl(BOTATools.Thumbnail | BOTATools.Outline | BOTATools.Bookmark | BOTATools.Search | BOTATools.Annotation);
@@ -102,21 +90,21 @@ namespace ContentEditorViewControl
         private void LoadDefaultDocument()
         {
             string defaultFilePath = "PDF32000_2008.pdf";
-            pdfViewer.PDFView.InitDocument(defaultFilePath);
+            viewControl.PDFView.InitDocument(defaultFilePath);
             LoadDocument();
         }
 
         private void LoadDocument()
         {
-            pdfViewer.PDFView.Load();
-            pdfViewer.PDFView.SetShowLink(true);
+            viewControl.PDFView.Load();
+            viewControl.PDFView.SetShowLink(true);
             
-            pdfViewer.PDFView.InfoChanged -= PdfViewer_InfoChanged;
-            pdfViewer.PDFView.InfoChanged += PdfViewer_InfoChanged;
+            viewControl.PDFView.InfoChanged -= PdfViewer_InfoChanged;
+            viewControl.PDFView.InfoChanged += PdfViewer_InfoChanged;
             PDFGrid.Child = contentEditControl;
             
-            contentEditControl.PdfViewControl = pdfViewer;
-            contentEditControl.InitWithPDFViewer(pdfViewer.PDFView);
+            contentEditControl.PdfViewControl = viewControl;
+            contentEditControl.InitWithPDFViewer(viewControl);
             InitialPDFViewControl();
 
             contentEditControl.OnCanSaveChanged -= ControlOnCanSaveChanged;
@@ -151,9 +139,9 @@ namespace ContentEditorViewControl
             string filePath = CommonHelper.GetExistedPathOrEmpty();
             if (!string.IsNullOrEmpty(filePath) && contentEditControl.PdfViewControl != null)
             {
-                if (pdfViewer.PDFView != null && pdfViewer.PDFView.Document != null)
+                if (viewControl.PDFView != null && viewControl.PDFView.Document != null)
                 {
-                    string oldFilePath = pdfViewer.PDFView.Document.FilePath;
+                    string oldFilePath = viewControl.PDFView.Document.FilePath;
                     if (oldFilePath.ToLower() == filePath.ToLower())
                     {
                         return;
@@ -177,8 +165,8 @@ namespace ContentEditorViewControl
                 }
                 else
                 {
-                    pdfViewer.PDFView.Document.Release();
-                    pdfViewer = passwordViewer;
+                    viewControl.PDFView.Document.Release();
+                    viewControl = passwordViewer;
                     LoadDocument();
                 }
             }
@@ -190,8 +178,10 @@ namespace ContentEditorViewControl
 
         private void PasswordUI_Confirmed(object sender, string e)
         {
-            if (passwordViewer != null && passwordViewer.PDFView != null && passwordViewer.PDFView.Document != null)
+            if (passwordViewer != null && passwordViewer.PDFViewTool != null)
             {
+                CPDFViewer pdfViewer=passwordViewer.PDFViewTool.GetCPDFViewer();
+
                 passwordViewer.PDFView.Document.UnlockWithPassword(e);
                 if (passwordViewer.PDFView.Document.IsLocked == false)
                 {
@@ -199,7 +189,7 @@ namespace ContentEditorViewControl
                     PasswordUI.ClearPassword();
                     PasswordUI.Visibility = Visibility.Collapsed;
                     PopupBorder.Visibility = Visibility.Collapsed;
-                    pdfViewer = passwordViewer;
+                    viewControl = passwordViewer;
                     LoadDocument();
                 }
                 else
@@ -227,7 +217,7 @@ namespace ContentEditorViewControl
 
         private void Window_Loaded(object sender, RoutedEventArgs e)
         {
-            pdfViewer = new PDFViewControl();
+            viewControl = new PDFViewControl();
             LoadDefaultDocument();
         }
         #endregion
@@ -254,7 +244,6 @@ namespace ContentEditorViewControl
         private void SaveFileBtn_Click(object sender, RoutedEventArgs e)
         {
             SaveFile();
-            pdfViewer.PDFView.UndoManager.CanSave = false;
         }
         
         private void OpenFile_Click(object sender, RoutedEventArgs e)
@@ -278,7 +267,7 @@ namespace ContentEditorViewControl
             
             if (currentMode == "Viewer")
             {
-                regularViewerControl.ClearViewerControl();
+               // regularViewerControl.ClearViewerControl();
             }
             else if(currentMode == "Content Edit")
             {
@@ -286,34 +275,34 @@ namespace ContentEditorViewControl
             }
             if ((string)item.Content == "Viewer")
             {
-                if (regularViewerControl.PdfViewControl != null && regularViewerControl.PdfViewControl.PDFView != null)
-                {
-                    PDFGrid.Child = regularViewerControl;
-                    regularViewerControl.PdfViewControl.PDFView.SetMouseMode(MouseModes.Viewer);
-                    regularViewerControl.PdfViewControl = pdfViewer;
-                    regularViewerControl.InitWithPDFViewer(pdfViewer.PDFView);
-                    regularViewerControl.SetBOTAContainer(botaBarControl);
-                    regularViewerControl.SetDisplaySettingsControl(displaySettingsControl);
-                }
+                //if (regularViewerControl.PdfViewControl != null && regularViewerControl.PdfViewControl.PDFView != null)
+                //{
+                //    PDFGrid.Child = regularViewerControl;
+                //    regularViewerControl.PdfViewControl.PDFView.SetMouseMode(MouseModes.Viewer);
+                //    regularViewerControl.PdfViewControl = viewControl;
+                //    regularViewerControl.InitWithPDFViewer(viewControl.PDFView);
+                //    regularViewerControl.SetBOTAContainer(botaBarControl);
+                //    regularViewerControl.SetDisplaySettingsControl(displaySettingsControl);
+                //}
             }
             else if ((string)item.Content == "Content Edit")
             {
-                if (contentEditControl.PdfViewControl != null && contentEditControl.PdfViewControl.PDFView != null)
-                {
-                    pdfViewer.PDFView?.SetPDFEditType(CPDFEditType.EditText | CPDFEditType.EditImage);
-                    pdfViewer.PDFView?.SetPDFEditCreateType(CPDFEditType.None);
-                    pdfViewer.PDFView?.SetMouseMode(MouseModes.PDFEdit);
-                    pdfViewer.PDFView?.SetSplitMode(SplitMode.None);
-
-                    PDFGrid.Child = contentEditControl;
-                    contentEditControl.PdfViewControl.PDFView.SetMouseMode(MouseModes.PDFEdit);
-                    contentEditControl.PdfViewControl = pdfViewer;
-                    contentEditControl.InitWithPDFViewer(pdfViewer.PDFView);
-                    contentEditControl.OnCanSaveChanged -= ControlOnCanSaveChanged;
-                    contentEditControl.OnCanSaveChanged += ControlOnCanSaveChanged;
-                    contentEditControl.SetBOTAContainer(botaBarControl);
-                    contentEditControl.SetDisplaySettingsControl(displaySettingsControl);
-                }
+                //if (contentEditControl.PdfViewControl != null && contentEditControl.PdfViewControl.PDFView != null)
+                //{
+                //    viewControl.PDFView?.SetPDFEditType(CPDFEditType.EditText | CPDFEditType.EditImage);
+                //    viewControl.PDFView?.SetPDFEditCreateType(CPDFEditType.None);
+                //    viewControl.PDFView?.SetMouseMode(MouseModes.PDFEdit);
+                //    viewControl.PDFView?.SetSplitMode(SplitMode.None);
+
+                //    PDFGrid.Child = contentEditControl;
+                //    contentEditControl.PdfViewControl.PDFView.SetMouseMode(MouseModes.PDFEdit);
+                //    contentEditControl.PdfViewControl = viewControl;
+                //    contentEditControl.InitWithPDFViewer(viewControl.PDFView);
+                //    contentEditControl.OnCanSaveChanged -= ControlOnCanSaveChanged;
+                //    contentEditControl.OnCanSaveChanged += ControlOnCanSaveChanged;
+                //    contentEditControl.SetBOTAContainer(botaBarControl);
+                //    contentEditControl.SetDisplaySettingsControl(displaySettingsControl);
+                //}
             }
             currentMode = item.Content as string;
         }
@@ -322,7 +311,7 @@ namespace ContentEditorViewControl
         {
             PasswordUI.Visibility = Visibility.Collapsed;
             FileInfoUI.Visibility = Visibility.Visible;
-            FileInfoControl.InitWithPDFViewer(pdfViewer.PDFView);
+            FileInfoControl.InitWithPDFViewer(viewControl);
             PopupBorder.Visibility = Visibility.Visible;
         }
 
@@ -390,19 +379,23 @@ namespace ContentEditorViewControl
         /// </summary>
         public void SaveAsFile()
         {
+            if (viewControl != null && viewControl.PDFViewTool != null )
             {
-                if (pdfViewer != null && pdfViewer.PDFView != null && pdfViewer.PDFView.Document != null)
+                CPDFViewer pdfViewer = viewControl.PDFViewTool.GetCPDFViewer();
+                CPDFDocument pdfDoc= pdfViewer?.GetDocument();
+                if (pdfDoc == null)
                 {
-                    CPDFDocument pdfDoc = pdfViewer.PDFView.Document;
-                    SaveFileDialog saveDialog = new SaveFileDialog();
-                    saveDialog.Filter = "(*.pdf)|*.pdf";
-                    saveDialog.DefaultExt = ".pdf";
-                    saveDialog.OverwritePrompt = true;
+                    return;
+                }
+               
+                SaveFileDialog saveDialog = new SaveFileDialog();
+                saveDialog.Filter = "(*.pdf)|*.pdf";
+                saveDialog.DefaultExt = ".pdf";
+                saveDialog.OverwritePrompt = true;
 
-                    if (saveDialog.ShowDialog() == true)
-                    {
-                        pdfDoc.WriteToFilePath(saveDialog.FileName);
-                    }
+                if (saveDialog.ShowDialog() == true)
+                {
+                    pdfDoc.WriteToFilePath(saveDialog.FileName);
                 }
             }
         }
@@ -412,11 +405,16 @@ namespace ContentEditorViewControl
         /// </summary>
         private void SaveFile()
         {
-            if (pdfViewer != null && pdfViewer.PDFView != null && pdfViewer.PDFView.Document != null)
+            if (viewControl != null && viewControl.PDFViewTool != null)
             {
+                CPDFViewer pdfViewer = viewControl.PDFViewTool.GetCPDFViewer();
+                if (pdfViewer == null)
+                {
+                    return;
+                }
                 try
                 {
-                    CPDFDocument pdfDoc = pdfViewer.PDFView.Document;
+                    CPDFDocument pdfDoc = pdfViewer.GetDocument();
                     if (pdfDoc.WriteToLoadedPath())
                     {
                         return;