|
@@ -2,6 +2,8 @@
|
|
|
using compdfkit_tools.Helper;
|
|
|
using compdfkit_tools.PDFControl;
|
|
|
using compdfkit_tools.PDFControlUI;
|
|
|
+using ComPDFKitViewer;
|
|
|
+using ComPDFKitViewer.AnnotEvent;
|
|
|
using ComPDFKitViewer.PdfViewer;
|
|
|
using Microsoft.Win32;
|
|
|
using System;
|
|
@@ -55,6 +57,8 @@ namespace viewer_ctrl_demo
|
|
|
PDFGrid.Child = pdfViewControl;
|
|
|
pdfViewControl.PDFView.InfoChanged -= PdfViewer_InfoChanged;
|
|
|
pdfViewControl.PDFView.InfoChanged += PdfViewer_InfoChanged;
|
|
|
+ pdfViewControl.PDFView.AnnotCommandHandler -= PDFView_AnnotCommandHandler;
|
|
|
+ pdfViewControl.PDFView.AnnotCommandHandler += PDFView_AnnotCommandHandler;
|
|
|
PasswordUI.Closed += PasswordUI_Closed;
|
|
|
PasswordUI.Canceled += PasswordUI_Canceled;
|
|
|
PasswordUI.Confirmed += PasswordUI_Confirmed;
|
|
@@ -82,6 +86,114 @@ namespace viewer_ctrl_demo
|
|
|
|
|
|
}
|
|
|
|
|
|
+ private void PDFView_AnnotCommandHandler(object sender,AnnotCommandArgs e)
|
|
|
+ {
|
|
|
+ if (e != null && e.CommandType == CommandType.Context)
|
|
|
+ {
|
|
|
+ e.Handle = true;
|
|
|
+ e.PopupMenu = new ContextMenu();
|
|
|
+
|
|
|
+ MenuItem fitWidthMenu = new MenuItem();
|
|
|
+ fitWidthMenu.Header = "Fit Width";
|
|
|
+ fitWidthMenu.Click += (o, p) =>
|
|
|
+ {
|
|
|
+ if(pdfViewControl!=null)
|
|
|
+ {
|
|
|
+ pdfViewControl.PDFView?.ChangeFitMode(FitMode.FitWidth);
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ e.PopupMenu.Items.Add(fitWidthMenu);
|
|
|
+
|
|
|
+ MenuItem fitSizeMenu = new MenuItem();
|
|
|
+ fitSizeMenu.Header = "Actual Size";
|
|
|
+ fitSizeMenu.Click += (o, p) =>
|
|
|
+ {
|
|
|
+ if (pdfViewControl != null)
|
|
|
+ {
|
|
|
+ pdfViewControl.PDFView?.ChangeFitMode(FitMode.FitSize);
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ e.PopupMenu.Items.Add(fitSizeMenu);
|
|
|
+
|
|
|
+ MenuItem zoomInMenu = new MenuItem();
|
|
|
+ zoomInMenu.Header = "Zoom In";
|
|
|
+ zoomInMenu.Click += (o, p) =>
|
|
|
+ {
|
|
|
+ if (pdfViewControl != null)
|
|
|
+ {
|
|
|
+ double newZoom = CheckZoomLevel(pdfViewControl.PDFView.ZoomFactor - 0.01, false);
|
|
|
+ pdfViewControl.PDFView?.Zoom(newZoom);
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ e.PopupMenu.Items.Add(zoomInMenu);
|
|
|
+
|
|
|
+ MenuItem zoomOutMenu = new MenuItem();
|
|
|
+ zoomOutMenu.Header = "Zoom Out";
|
|
|
+ zoomOutMenu.Click += (o, p) =>
|
|
|
+ {
|
|
|
+ if (pdfViewControl != null)
|
|
|
+ {
|
|
|
+ double newZoom = CheckZoomLevel(pdfViewControl.PDFView.ZoomFactor + 0.01, true);
|
|
|
+ pdfViewControl.PDFView?.Zoom(newZoom);
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ e.PopupMenu.Items.Add(zoomOutMenu);
|
|
|
+ e.PopupMenu.Items.Add(new Separator());
|
|
|
+
|
|
|
+ MenuItem singleView = new MenuItem();
|
|
|
+ singleView.Header = "Single Page";
|
|
|
+ singleView.Click += (o, p) =>
|
|
|
+ {
|
|
|
+ if (pdfViewControl != null)
|
|
|
+ {
|
|
|
+ pdfViewControl.PDFView?.ChangeViewMode(ViewMode.Single);
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ e.PopupMenu.Items.Add(singleView);
|
|
|
+
|
|
|
+ MenuItem singleContinuousView = new MenuItem();
|
|
|
+ singleContinuousView.Header = "Single Continuous Page";
|
|
|
+ singleContinuousView.Click += (o, p) =>
|
|
|
+ {
|
|
|
+ if (pdfViewControl != null)
|
|
|
+ {
|
|
|
+ pdfViewControl.PDFView?.ChangeViewMode(ViewMode.SingleContinuous);
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ e.PopupMenu.Items.Add(singleContinuousView);
|
|
|
+
|
|
|
+ MenuItem doubleView = new MenuItem();
|
|
|
+ doubleView.Header = "Double Page";
|
|
|
+ doubleView.Click += (o, p) =>
|
|
|
+ {
|
|
|
+ if (pdfViewControl != null)
|
|
|
+ {
|
|
|
+ pdfViewControl.PDFView?.ChangeViewMode(ViewMode.Double);
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ e.PopupMenu.Items.Add(doubleView);
|
|
|
+
|
|
|
+ MenuItem doubleContinuousView = new MenuItem();
|
|
|
+ doubleContinuousView.Header = "Double Continuous Page";
|
|
|
+ doubleContinuousView.Click += (o, p) =>
|
|
|
+ {
|
|
|
+ if (pdfViewControl != null)
|
|
|
+ {
|
|
|
+ pdfViewControl.PDFView?.ChangeViewMode(ViewMode.DoubleContinuous);
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ e.PopupMenu.Items.Add(doubleContinuousView);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private void PasswordUI_Confirmed(object sender, string e)
|
|
|
{
|
|
|
if(passwordViewer!=null && passwordViewer.PDFView!=null && passwordViewer.PDFView.Document!=null)
|