Jelajahi Sumber

其他 - PDFViewer的鼠标缩放

zhuyi 1 tahun lalu
induk
melakukan
c65b66cdc2

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

@@ -29,7 +29,7 @@ namespace Compdfkit_Tools.PDFControl
             Content = PDFViewTool;
             PDFViewTool.GetCPDFViewer().MouseWheelZoomHandler += PDFViewControl_MouseWheelZoomHandler;
             PDFToolManager = new CPDFToolManager(PDFViewTool);
-            PDFToolManager.SetToolType(CPDFToolManager.ToolType.Viewer);
+            //PDFToolManager.SetToolType(CPDFToolManager.ToolType.Viewer);
         }
 
         public void InitDocument(string Path)
@@ -49,8 +49,8 @@ namespace Compdfkit_Tools.PDFControl
             {
                 e.IsZoom = true;
                 PDFViewTool.GetCPDFViewer().SetFitMode(FitModes.FitZoom);
-                double zoom= PDFViewTool.GetCPDFViewer().GetZoom();
-                PDFViewTool.GetCPDFViewer().SetZoom(CheckZoomLevel(zoom,Convert.ToBoolean(e.WheelBehavior)));
+                double zoom = PDFViewTool.GetCPDFViewer().GetZoom();
+                PDFViewTool.GetCPDFViewer().SetZoom(CheckZoomLevel(zoom, Convert.ToBoolean(e.WheelBehavior)));
                 PDFViewTool.GetCPDFViewer().UpDataRenderFrame();
             }
         }
@@ -58,6 +58,7 @@ namespace Compdfkit_Tools.PDFControl
         #region Private Command Methods
         private double CheckZoomLevel(double zoom, bool IsGrowth)
         {
+            zoom += (IsGrowth ? 0.01 : -0.01);
             double standardZoom = 100;
             if (zoom <= 0.01)
             {
@@ -86,6 +87,6 @@ namespace Compdfkit_Tools.PDFControl
         }
         #endregion
 
-        
+
     }
 }

+ 1 - 1
Demo/Examples/DigitalSignature/DigitalSignature.csproj

@@ -139,7 +139,7 @@
     <None Include="App.config" />
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="..\..\..\..\compdfkit\ComPDFKit\ComPDFKitCSharp\ComPDFKit.Desk.csproj">
+    <ProjectReference Include="..\..\..\..\compdfkit_windows\ComPDFKit\ComPDFKitCSharp\ComPDFKit.Desk.csproj">
       <Project>{56e518ad-c126-4b48-9a09-0a64c87020e4}</Project>
       <Name>ComPDFKit.Desk</Name>
     </ProjectReference>

+ 5 - 5
Demo/Examples/Forms/Forms.csproj

@@ -96,6 +96,10 @@
       <Project>{a061ee7a-6704-4bd9-86ee-48ed5df75e2f}</Project>
       <Name>ComPDFKit.Tool</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\..\compdfkit_windows\ComPDFKit.Viewer\ComPDFKit.Viewer.csproj">
+      <Project>{783263cf-0da3-4095-9df8-2c4a6b3ff908}</Project>
+      <Name>ComPDFKit.Viewer</Name>
+    </ProjectReference>
     <ProjectReference Include="..\Compdfkit_Tools\Compdfkit_Tools.csproj">
       <Project>{9363bcb1-3a67-446a-8093-5708b86bf418}</Project>
       <Name>Compdfkit_Tools</Name>
@@ -113,14 +117,10 @@
     <Resource Include="ComPDFKit_Logo.ico" />
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="..\..\..\..\compdfkit\ComPDFKit\ComPDFKitCSharp\ComPDFKit.Desk.csproj">
+    <ProjectReference Include="..\..\..\..\compdfkit_windows\ComPDFKit\ComPDFKitCSharp\ComPDFKit.Desk.csproj">
       <Project>{56e518ad-c126-4b48-9a09-0a64c87020e4}</Project>
       <Name>ComPDFKit.Desk</Name>
     </ProjectReference>
-    <ProjectReference Include="..\..\..\..\compdfkit\ComPDFKit\ComPDFKitDesktop\ComPDFKit.Viewer\ComPDFKit.Viewer.csproj">
-      <Project>{18ec356d-8130-49d4-b4e6-ac290e1065b7}</Project>
-      <Name>ComPDFKit.Viewer</Name>
-    </ProjectReference>
     <ProjectReference Include="..\Compdfkit_Tools\Compdfkit_Tools.csproj">
       <Project>{9363bcb1-3a67-446a-8093-5708b86bf418}</Project>
       <Name>Compdfkit_Tools</Name>

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

@@ -247,6 +247,8 @@ namespace FormViewControl
             panelState.IsLeftPanelExpand = (sender as ToggleButton).IsChecked == true;
         }
 
+        bool T = false;
+
         private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
         {
             var item = (sender as ComboBox).SelectedItem as ComboBoxItem;
@@ -282,7 +284,15 @@ namespace FormViewControl
                 if (formControl.PdfViewControl != null && formControl.PdfViewControl.PDFToolManager != null)
                 {
                     PDFGrid.Child = formControl;
-                    formControl.PdfViewControl.PDFToolManager.SetToolType(ComPDFKit.Tool.CPDFToolManager.ToolType.FormEdit);
+                    if (T)
+                    {
+                        formControl.PdfViewControl.PDFToolManager.SetToolType(ComPDFKit.Tool.CPDFToolManager.ToolType.FormEdit);
+                    }
+                    if (IsLoaded)
+                    {
+                        T = IsLoaded;
+                    }
+
                     formControl.PdfViewControl = pdfViewer;
                     formControl.InitWithPDFViewer(pdfViewer);
                     formControl.SetBOTAContainer(botaBarControl);

+ 12 - 0
Demo/Examples/PDFViewer/PDFViewer.csproj

@@ -127,6 +127,18 @@
     <Resource Include="ComPDFKit_Logo.ico" />
   </ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="..\..\..\..\compdfkit_windows\ComPDFKit.Tool\ComPDFKit.Tool.csproj">
+      <Project>{A061EE7A-6704-4BD9-86EE-48ED5DF75E2F}</Project>
+      <Name>ComPDFKit.Tool</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\compdfkit_windows\ComPDFKit.Viewer\ComPDFKit.Viewer.csproj">
+      <Project>{783263CF-0DA3-4095-9DF8-2C4A6B3FF908}</Project>
+      <Name>ComPDFKit.Viewer</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\compdfkit_windows\ComPDFKit\ComPDFKitCSharp\ComPDFKit.Desk.csproj">
+      <Project>{56E518AD-C126-4B48-9A09-0A64C87020E4}</Project>
+      <Name>ComPDFKit.Desk</Name>
+    </ProjectReference>
     <ProjectReference Include="..\Compdfkit_Tools\Compdfkit_Tools.csproj">
       <Project>{9363bcb1-3a67-446a-8093-5708b86bf418}</Project>
       <Name>Compdfkit_Tools</Name>

+ 2 - 6
Demo/Examples/Viewer/App.xaml.cs

@@ -1,13 +1,9 @@
 using ComPDFKit.NativeMethod;
 using Compdfkit_Tools.Helper;
-using System.IO;
-using System.Reflection;
 using System.Windows;
-using System.Xml;
-using static ComPDFKit.NativeMethod.CPDFSDKVerifier;
 
 namespace Viewer
-{ 
+{
     /// <summary>
     /// Interaction logic for App.xaml
     /// </summary>
@@ -23,7 +19,7 @@ namespace Viewer
 
         private static bool LicenseVerify()
         {
-            bool result = LoadNativeLibrary();
+            bool result = CPDFSDKVerifier.LoadNativeLibrary();
             if (!result)
                 return false;
 

+ 28 - 26
Demo/Examples/Viewer/MainWindow.xaml.cs

@@ -2,8 +2,6 @@
 using Compdfkit_Tools.Helper;
 using Compdfkit_Tools.PDFControl;
 using ComPDFKitViewer;
-using ComPDFKitViewer.AnnotEvent;
-using ComPDFKitViewer.PdfViewer;
 using Microsoft.Win32;
 using System;
 using System.Collections.Generic;
@@ -38,9 +36,13 @@ namespace Viewer
         {
             get
             {
-                if (pdfViewControl != null && pdfViewControl.PDFView != null)
+                if (pdfViewControl != null && pdfViewControl.PDFViewTool.GetCPDFViewer() != null)
                 {
-                    return pdfViewControl.PDFView.UndoManager.CanSave;
+                    if (pdfViewControl.PDFViewTool.GetCPDFViewer().UndoManager.CanRedo ||
+                        pdfViewControl.PDFViewTool.GetCPDFViewer().UndoManager.CanUndo)
+                    {
+                        return true;
+                    }
                 }
                 return false;
             }
@@ -63,11 +65,11 @@ namespace Viewer
         #region Load Document
         private void LoadDocument()
         {
-            if (pdfViewControl.PDFView.Document == null)
+            if (pdfViewControl.PDFToolManager.GetDocument() == null)
             {
                 return;
             }
-            pdfViewControl.PDFView?.SetMouseMode(MouseModes.Viewer);
+            pdfViewControl.PDFToolManager?.SetToolType(ComPDFKit.Tool.CPDFToolManager.ToolType.Viewer);
             pdfViewControl.PDFView?.Load();
             pdfViewControl.PDFView?.SetShowLink(true);
             PDFGrid.Child = pdfViewControl;
@@ -85,12 +87,12 @@ namespace Viewer
             PasswordUI.Canceled += PasswordUI_Canceled;
             PasswordUI.Confirmed += PasswordUI_Confirmed;
 
-            pdfViewControl.PDFView.ChangeFitMode(FitMode.FitWidth);
-            CPDFSaclingControl.InitWithPDFViewer(pdfViewControl.PDFView);
-            CPDFSaclingControl.SetZoomTextBoxText(string.Format("{0}", (int)(pdfViewControl.PDFView.ZoomFactor * 100)));
+            pdfViewControl.PDFViewTool.GetCPDFViewer().SetFitMode(FitModes.FitWidth);
+            CPDFSaclingControl.InitWithPDFViewer(pdfViewControl);
+            CPDFSaclingControl.SetZoomTextBoxText(string.Format("{0}", (int)(pdfViewControl.PDFViewTool.GetCPDFViewer().GetZoom() * 100)));
 
-            FloatPageTool.InitWithPDFViewer(pdfViewControl.PDFView);
-            BotaSideTool.InitWithPDFViewer(pdfViewControl.PDFView);
+            FloatPageTool.InitWithPDFViewer(pdfViewControl);
+            BotaSideTool.InitWithPDFViewer(pdfViewControl);
             BotaSideTool.SelectBotaTool(BOTATools.Thumbnail);
             ViewSettingBtn.IsChecked = false;
             PropertyContainer.Child = null;
@@ -101,7 +103,7 @@ namespace Viewer
         {
             string defaultFilePath = "PDF32000_2008.pdf";
             pdfViewControl = new PDFViewControl();
-            pdfViewControl.PDFView.InitDocument(defaultFilePath);
+            pdfViewControl.InitDocument(defaultFilePath);
             LoadDocument();
         }
         #endregion
@@ -109,10 +111,10 @@ namespace Viewer
         #region Password
         private void PasswordUI_Confirmed(object sender, string e)
         {
-            if (passwordViewer != null && passwordViewer.PDFView != null && passwordViewer.PDFView.Document != null)
+            if (passwordViewer != null && passwordViewer.PDFToolManager != null && passwordViewer.PDFToolManager.GetDocument() != null)
             {
-                passwordViewer.PDFView.Document.UnlockWithPassword(e);
-                if (passwordViewer.PDFView.Document.IsLocked == false)
+                passwordViewer.PDFToolManager.GetDocument().UnlockWithPassword(e);
+                if (passwordViewer.PDFToolManager.GetDocument().IsLocked == false)
                 {
                     PasswordUI.SetShowError("", Visibility.Collapsed);
                     PasswordUI.ClearPassword();
@@ -222,7 +224,7 @@ namespace Viewer
             {
                 if (ViewSettingBtn.IsChecked == true)
                 {
-                    displayPanel.InitWithPDFViewer(pdfViewControl.PDFView);
+                    displayPanel.InitWithPDFViewer(pdfViewControl);
                     PropertyContainer.Child = displayPanel;
                     PropertyContainer.Visibility = Visibility.Visible; 
                 }
@@ -243,8 +245,8 @@ namespace Viewer
         {
             if (pdfViewControl != null)
             {
-                double newZoom = CheckZoomLevel(pdfViewControl.PDFView.ZoomFactor + 0.01, true);
-                pdfViewControl.PDFView.Zoom(newZoom);
+                double newZoom = CheckZoomLevel(pdfViewControl.PDFViewTool.GetCPDFViewer().GetZoom() + 0.01, true);
+                pdfViewControl.PDFViewTool.GetCPDFViewer().SetZoom(newZoom);
             }
         }
 
@@ -252,26 +254,26 @@ namespace Viewer
         {
             if (pdfViewControl != null)
             {
-                double newZoom = CheckZoomLevel(pdfViewControl.PDFView.ZoomFactor - 0.01, false);
-                pdfViewControl.PDFView.Zoom(newZoom);
+                double newZoom = CheckZoomLevel(pdfViewControl.PDFViewTool.GetCPDFViewer().GetZoom() - 0.01, false);
+                pdfViewControl.PDFViewTool.GetCPDFViewer().SetZoom(newZoom);
             }
         }
 
         private void NextPageBorder_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
         {
-            pdfViewControl.PDFView?.GoToPage(pdfViewControl.PDFView.CurrentIndex + 1);
+            pdfViewControl.PDFViewTool.GetCPDFViewer()?.GoToPage(pdfViewControl.PDFViewTool.GetCPDFViewer().CurrentRenderFrame.PageIndex + 1,new System.Windows.Point(0,0));
         }
 
         private void PrevPageBorder_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
         {
-            pdfViewControl.PDFView?.GoToPage(pdfViewControl.PDFView.CurrentIndex - 1);
+            pdfViewControl.PDFViewTool.GetCPDFViewer()?.GoToPage(pdfViewControl.PDFViewTool.GetCPDFViewer().CurrentRenderFrame.PageIndex - 1, new System.Windows.Point(0, 0));
         }
 
         private void PageInfoBtn_Click(object sender, RoutedEventArgs e)
         {
             PasswordUI.Visibility = Visibility.Collapsed;
             FileInfoUI.Visibility = Visibility.Visible;
-            FileInfoControl.InitWithPDFViewer(pdfViewControl.PDFView);
+            FileInfoControl.InitWithPDFViewer(pdfViewControl);
             PopupBorder.Visibility = Visibility.Visible;
         }
 
@@ -289,9 +291,9 @@ namespace Viewer
         public void SaveAsFile()
         {
             {
-                if (pdfViewControl != null && pdfViewControl.PDFView != null && pdfViewControl.PDFView.Document != null)
+                if (pdfViewControl != null && pdfViewControl.PDFToolManager != null && pdfViewControl.PDFToolManager.GetDocument() != null)
                 {
-                    CPDFDocument pdfDoc = pdfViewControl.PDFView.Document;
+                    CPDFDocument pdfDoc = pdfViewControl.PDFToolManager.GetDocument();
                     SaveFileDialog saveDialog = new SaveFileDialog();
                     saveDialog.Filter = "(*.pdf)|*.pdf";
                     saveDialog.DefaultExt = ".pdf";
@@ -307,7 +309,7 @@ namespace Viewer
 
         private void SaveFile()
         {
-            if (pdfViewControl != null && pdfViewControl.PDFView != null && pdfViewControl.PDFView.Document != null)
+            if (pdfViewControl != null && pdfViewControl.PDFToolManager != null && pdfViewControl.PDFToolManager.GetDocument() != null)
             {
                 CPDFDocument pdfDoc = pdfViewControl.PDFView.Document;
                 if (pdfDoc.WriteToLoadedPath())

+ 12 - 0
Demo/Examples/Viewer/Viewer.csproj

@@ -116,6 +116,18 @@
     <Resource Include="ComPDFKit_Logo.ico" />
   </ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="..\..\..\..\compdfkit_windows\ComPDFKit.Tool\ComPDFKit.Tool.csproj">
+      <Project>{A061EE7A-6704-4BD9-86EE-48ED5DF75E2F}</Project>
+      <Name>ComPDFKit.Tool</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\compdfkit_windows\ComPDFKit.Viewer\ComPDFKit.Viewer.csproj">
+      <Project>{783263CF-0DA3-4095-9DF8-2C4A6B3FF908}</Project>
+      <Name>ComPDFKit.Viewer</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\compdfkit_windows\ComPDFKit\ComPDFKitCSharp\ComPDFKit.Desk.csproj">
+      <Project>{56E518AD-C126-4B48-9A09-0A64C87020E4}</Project>
+      <Name>ComPDFKit.Desk</Name>
+    </ProjectReference>
     <ProjectReference Include="..\Compdfkit_Tools\Compdfkit_Tools.csproj">
       <Project>{9363bcb1-3a67-446a-8093-5708b86bf418}</Project>
       <Name>Compdfkit_Tools</Name>