Browse Source

PDFAnnotation(windows) - 字体预览bug

liuaoran 1 year ago
parent
commit
11359ae775

+ 1 - 0
compdfkit_demo_windows/compdfkit/annotation-ctrl-demo/MainWindow.xaml.cs

@@ -244,6 +244,7 @@ namespace viewer_ctrl_demo
                             e.PopupMenu.Items.Add(doubleContinuousView);
                         }
                     }
+
                     else if (e.CommandTarget == TargetType.ImageSelection)
                     {
                         if (pdfViewControl != null && pdfViewControl.PDFView != null && pdfViewControl.PDFView.GetSelectImageCount() > 0)

+ 1 - 1
compdfkit_demo_windows/compdfkit/compdfkit-tools/Annotation/CPDFAnnotationPreviewerControl.xaml

@@ -7,7 +7,7 @@
              xmlns:cpdfcommon="clr-namespace:compdfkit_tools.Common"
              mc:Ignorable="d" 
              d:DesignHeight="100" d:DesignWidth="260">
-    
+     
     <Border BorderBrush="#E2E3E6" BorderThickness="1" Background="#FFFFFF">
         <Grid>
             <Grid x:Name="MarkupGrid" VerticalAlignment="Center" Visibility="Collapsed">

+ 16 - 4
compdfkit_demo_windows/compdfkit/compdfkit-tools/Annotation/CPDFAnnotationPreviewerControl.xaml.cs

@@ -100,7 +100,6 @@ namespace compdfkit_tools.PDFControl
                     Ellipse.Fill = new SolidColorBrush(circleData.FillColor);
                     Ellipse.Stroke = new SolidColorBrush(circleData.BorderColor);
                     Ellipse.StrokeDashArray = circleData.DashStyle.Dashes;
-                     
                     break;
 
                 case CPDFAnnotationType.Square:
@@ -162,13 +161,26 @@ namespace compdfkit_tools.PDFControl
             StampGrid.Visibility = Visibility.Visible;
             StampImage.Source = writeableBitmap;
         }
-
-
+        
         public void DrawFreeTextPreview(CPDFFreeTextData freeTextData)
         {
             CollapsedAll();
             FreeTextGrid.Visibility = Visibility.Visible;
-            FreeText.FontFamily = new FontFamily(freeTextData.FontFamily);
+            
+            if (freeTextData.FontFamily == "Helvetica")
+            {
+                FreeText.FontFamily = new FontFamily("Arial");
+            }
+            else if (freeTextData.FontFamily == "Times")
+            {
+                FreeText.FontFamily = new FontFamily("Times New Roman");
+            }
+            else
+            {
+                FreeText.FontFamily = new FontFamily("Courier New");
+            }
+
+            //FreeText.FontFamily = new FontFamily(freeTextData.FontFamily);
             FreeText.FontSize = freeTextData.FontSize/1.2;
             FreeText.Foreground = new SolidColorBrush(freeTextData.BorderColor);
             FreeText.Opacity = freeTextData.Opacity;

+ 4 - 4
compdfkit_demo_windows/compdfkit/compdfkit-tools/Annotation/PDFAnnotationPanel/PDFAnnotationUI/CPDFShapeUI.xaml.cs

@@ -151,6 +151,7 @@ namespace compdfkit_tools.PDFControlUI
                 pdfShapeData.Opacity = CPDFOpacityControl.OpacityValue / 100.0;
                 pdfShapeData.Thickness = CPDFThicknessControl.Thickness;
                 pdfShapeData.DashStyle = CPDFLineStyleControl.DashStyle;
+                DoubleCollection dashStyle = CPDFLineStyleControl.DashStyle.Dashes;
                 pdfShapeData.Note = NoteTextBox.Text;
                 return pdfShapeData;
             }
@@ -192,11 +193,10 @@ namespace compdfkit_tools.PDFControlUI
                     HeadLineType = (C_LINE_TYPE)annotAttribEvent.Attribs[AnnotAttrib.LineStart],
                     TailLineType = (C_LINE_TYPE)annotAttribEvent.Attribs[AnnotAttrib.LineEnd]
                 };
-
-                CPDFArrowControl.LineType = lineType;
-
+                CPDFArrowControl.LineType = lineType; 
             }
             this.annotAttribEvent = annotAttribEvent;
+            CPDFAnnotationPreviewerControl.DrawShapePreview(GetShapeData());
         }
 
         public void InitWhenRectAndRound()
@@ -216,6 +216,7 @@ namespace compdfkit_tools.PDFControlUI
             CPDFArrowControl.ArrowChanged += CPDFArrowControl_ArrowChanged;
             FillColorPickerControl.ColorChanged -= FillColorPickerControl_ColorChanged;
             LineType lineType;
+
             if (currentAnnotationType == CPDFAnnotationType.Arrow)
             {
                 lineType = new LineType()
@@ -223,7 +224,6 @@ namespace compdfkit_tools.PDFControlUI
                     HeadLineType = C_LINE_TYPE.LINETYPE_NONE,
                     TailLineType = C_LINE_TYPE.LINETYPE_ARROW
                 };
-
             }
             else
             {

+ 1 - 2
compdfkit_demo_windows/compdfkit/viewer-ctrl-demo/MainWindow.xaml.cs

@@ -119,7 +119,7 @@ namespace viewer_ctrl_demo
                         WeakEventManager<MenuItem, RoutedEventArgs>.AddHandler(imageCopyMenu, "Click", CopyImage_Click);
                         imageCopyMenu.CommandParameter = e;
                         e.PopupMenu.Items.Add(imageCopyMenu);
-
+                        
                         MenuItem imageExtraMenu = new MenuItem();
                         imageExtraMenu = new MenuItem();
                         imageExtraMenu.Header = "Extract Images";
@@ -229,7 +229,6 @@ namespace viewer_ctrl_demo
                             pdfViewControl.PDFView?.ChangeViewMode(ViewMode.DoubleContinuous);
                         }
                     };
-
                     e.PopupMenu.Items.Add(doubleContinuousView);
                 }
             }