Browse Source

ComPDFKit(win) - 文字编辑时禁止Crop

liuaoran 1 year ago
parent
commit
286f13e7b6

+ 3 - 3
Demo/Examples/Compdfkit_Tools/PDFView/PDFDisplaySettings/PDFDisplaySettingsControl/CPDFDisplaySettingsControl.xaml.cs

@@ -68,13 +68,13 @@ namespace Compdfkit_Tools.PDFControl
                 ViewModeUI.SetSplitModeUI(pdfView.Mode);
                 ViewModeUI.SetViewModeUI(pdfView.ModeView);
                 ViewModeUI.SetCropUI(pdfView.IsCropMode());
-            }
-          
+            } 
         }
 
-        public void SetSplitContainerVisibility(Visibility visible)
+        public void SetVisibilityWhenContentEdit(Visibility visible)
         {
             ViewModeUI?.SetSplitContainerVisibility(visible);
+            ViewModeUI?.SetCropContainerVisibility(visible);
         }
 
         private void PdfView_InfoChanged(object sender, KeyValuePair<string, object> e)

+ 26 - 22
Demo/Examples/Compdfkit_Tools/PDFView/PDFDisplaySettings/PDFDisplaySettingsUI/CPDFViewModeUI.xaml

@@ -16,13 +16,13 @@
     <Grid>
         <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Visibility="Collapsed">
             <RadioButton x:Name="ContinuousRadioButton" Tag="Continuous" GroupName="Continuous" IsChecked="True" Click="ContinuousRadioButton_Click">
-                <TextBlock Text="连续"></TextBlock>
+                <TextBlock Text="Continous"></TextBlock>
                 <RadioButton.ToolTip>
                     <ToolTip Content="Continuous"></ToolTip>
                 </RadioButton.ToolTip>
             </RadioButton>
             <RadioButton x:Name="DiscontinuousRadioButton" Tag="Discontinuous" GroupName="Continuous" Click="ContinuousRadioButton_Click">
-                <TextBlock Text="不连续"></TextBlock>
+                <TextBlock Text="Discontinous"></TextBlock>
                 <RadioButton.ToolTip>
                     <ToolTip Content="Discontinuous"></ToolTip>
                 </RadioButton.ToolTip>
@@ -47,7 +47,7 @@
                 </RadioButton.ToolTip>
             </RadioButton>
         </StackPanel>
-        
+
         <Grid>
             <Grid.RowDefinitions>
                 <RowDefinition Height="auto"></RowDefinition>
@@ -62,9 +62,8 @@
                         <RowDefinition Height="auto"></RowDefinition>
                     </Grid.RowDefinitions>
                     <TextBlock Foreground="#43474D" FontSize="14" LineHeight="16" Margin="0,0,0,18">Split View</TextBlock>
-                    
+
                     <StackPanel Orientation="Horizontal" Grid.Row="1">
-                        <!--垂直视图-->
                         <ToggleButton Name="VerticalBtn" Width="50" Height="36" BorderThickness="0" Style="{StaticResource RoundToggleButtonStyle}" 
                                       Background="Transparent" Click="VerticalBtn_Click">
                             <ToggleButton.Content>
@@ -83,7 +82,6 @@
                             </ToggleButton.ToolTip>
                         </ToggleButton>
 
-                        <!--水平视图-->
                         <ToggleButton Name="HorizonBtn" Width="50" Height="36" BorderThickness="0" Margin="5,0,0,0" Style="{StaticResource RoundToggleButtonStyle}" 
                                       Background="Transparent" Click="HorizonBtn_Click">
                             <ToggleButton.Content>
@@ -102,7 +100,7 @@
                                 <ToolTip Content="Horizontal"></ToolTip>
                             </ToggleButton.ToolTip>
                         </ToggleButton>
-                        
+
                     </StackPanel>
                 </Grid>
             </Border>
@@ -116,8 +114,7 @@
                     <TextBlock Foreground="#43474D" FontSize="14" LineHeight="16" Margin="0,0,0,18">Display Mode</TextBlock>
 
                     <StackPanel Orientation="Horizontal" Grid.Row="1">
-                        
-                        <!--单页-->
+
                         <ToggleButton Name="SingleViewBtn" Width="50" Height="36" BorderThickness="0" Style="{StaticResource RoundToggleButtonStyle}" Background="Transparent"
                                       Click="SingleViewBtn_Click">
                             <ToggleButton.Content>
@@ -131,8 +128,7 @@
                                 <ToolTip Content="Single Page"></ToolTip>
                             </ToggleButton.ToolTip>
                         </ToggleButton>
-                        
-                        <!--双页-->
+
                         <ToggleButton Name="DoubleViewBtn" Width="50" Height="36" BorderThickness="0" Margin="5,0,0,0" Style="{StaticResource RoundToggleButtonStyle}" Background="Transparent"
                                       Click="DoubleViewBtn_Click">
                             <ToggleButton.Content>
@@ -146,8 +142,7 @@
                                 <ToolTip Content="Double Page"></ToolTip>
                             </ToggleButton.ToolTip>
                         </ToggleButton>
-                        
-                        <!--书本-->
+ 
                         <ToggleButton Name="BookViewBtn" Width="50" Height="36" BorderThickness="0" Margin="5,0,0,0" Style="{StaticResource RoundToggleButtonStyle}" Background="Transparent"
                                       Click="BookViewBtn_Click">
                             <ToggleButton.Content>
@@ -164,7 +159,7 @@
                                 <ToolTip Content="Cover Mode"></ToolTip>
                             </ToggleButton.ToolTip>
                         </ToggleButton>
-                        
+
                     </StackPanel>
                 </Grid>
             </Border>
@@ -175,16 +170,25 @@
                         <RowDefinition Height="auto"></RowDefinition>
                         <RowDefinition Height="auto"></RowDefinition>
                     </Grid.RowDefinitions>
-                    <Grid.ColumnDefinitions>
-                        <ColumnDefinition Width="*"></ColumnDefinition>
-                        <ColumnDefinition Width="auto"></ColumnDefinition>
-                    </Grid.ColumnDefinitions>
-                    <TextBlock FontSize="14" Foreground="#43474D">Continuous Scroll</TextBlock>
-                    <ToggleButton Name="ContinuePageBtn" Style="{StaticResource ToggleButtonSwitchStyle}" Margin="0,0,33,0" Grid.Column="1" Width="40" BorderThickness="0"
+
+                    <Grid>
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition Width="*"></ColumnDefinition>
+                            <ColumnDefinition Width="auto"></ColumnDefinition>
+                        </Grid.ColumnDefinitions>
+                        <TextBlock FontSize="14" Foreground="#43474D">Continuous Scroll</TextBlock>
+                        <ToggleButton Name="ContinuePageBtn" Style="{StaticResource ToggleButtonSwitchStyle}" Margin="0,0,33,0" Grid.Column="1" Width="40" BorderThickness="0"
                                   Click="ContinuePageBtn_Click"></ToggleButton>
-                    <TextBlock FontSize="14" Foreground="#43474D" Grid.Row="1" Margin="0,24,0,0">Crop</TextBlock>
-                    <ToggleButton Name="CropModeBtn" Style="{StaticResource ToggleButtonSwitchStyle}"  Margin="0,24,33,0" Grid.Row="1"  Grid.Column="1" Width="40" BorderThickness="0"
+                    </Grid>
+                    <Grid Grid.Row="1" x:Name="CropContainer">
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition Width="*"></ColumnDefinition>
+                            <ColumnDefinition Width="auto"></ColumnDefinition>
+                        </Grid.ColumnDefinitions>
+                        <TextBlock FontSize="14" Foreground="#43474D" Margin="0,24,0,0">Crop</TextBlock>
+                        <ToggleButton Name="CropModeBtn" Style="{StaticResource ToggleButtonSwitchStyle}"  Margin="0,24,33,0" Grid.Column="1" Width="40" BorderThickness="0"
                                   Click="CropModeBtn_Click"></ToggleButton>
+                    </Grid> 
                 </Grid>
             </Border>
         </Grid>

+ 15 - 1
Demo/Examples/Compdfkit_Tools/PDFView/PDFDisplaySettings/PDFDisplaySettingsUI/CPDFViewModeUI.xaml.cs

@@ -216,6 +216,8 @@ namespace Compdfkit_Tools.PDFControlUI
             CropModeBtn.IsChecked=isAutoCrop;
         }
 
+
+
         public void SetSplitContainerVisibility(Visibility visibility)
         {
             SplitContainer.Visibility = visibility;
@@ -224,10 +226,22 @@ namespace Compdfkit_Tools.PDFControlUI
                 DisplayContainer.Margin = new Thickness(0,30,0,0);
             }
             else
+            {
+                DisplayContainer.Margin = new Thickness(0);
+            } 
+        }
+
+        public void SetCropContainerVisibility(Visibility visibility)
+        {
+            CropContainer.Visibility = visibility;
+            if (visibility == Visibility.Visible)
+            {
+                DisplayContainer.Margin = new Thickness(0, 30, 0, 0);
+            }
+            else
             {
                 DisplayContainer.Margin = new Thickness(0);
             }
-          
         }
     }
 }

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

@@ -712,7 +712,7 @@ namespace ContentEditor
                 if (toggleButton.IsChecked == true)
                 {
                     CPDFDisplaySettingsControl displayPanel = new CPDFDisplaySettingsControl();
-                    displayPanel.SetSplitContainerVisibility(Visibility.Collapsed);
+                    displayPanel.SetVisibilityWhenContentEdit(Visibility.Collapsed);
                     displayPanel.InitWithPDFViewer(pdfViewControl.PDFView);
                     prevPanel = PropertyContainer.Child;
                     PropertyContainer.Child = displayPanel;

+ 28 - 7
Demo/Examples/PDFViewer/MainPage.xaml.cs

@@ -319,6 +319,10 @@ namespace PDFViewer
                     }
                     textEditControl.SetPDFTextEditData(createParam);
                     ExpandRightPropertyPanel(textEditControl, Visibility.Visible);
+                    if ((bool)ViewSettingBtn.IsChecked)
+                    {
+                        ViewSettingBtn.IsChecked = false;
+                    }
                     pdfTextCreateParam = createParam;
                 }
                 else
@@ -327,6 +331,11 @@ namespace PDFViewer
                     pdfViewControl.PDFView?.SetPDFEditType(CPDFEditType.EditImage | CPDFEditType.EditText);
                     pdfViewControl.PDFView?.SetMouseMode(MouseModes.PDFEdit);
                     pdfViewControl.PDFView?.ReloadDocument();
+                    LeftToolPanelButton.IsChecked = false;
+                    if ((bool)ViewSettingBtn.IsChecked)
+                    {
+                        return;
+                    }
                     ExpandRightPropertyPanel(null, Visibility.Collapsed);
                 }
             }
@@ -348,7 +357,11 @@ namespace PDFViewer
                     pdfViewControl.PDFView?.SetMouseMode(MouseModes.PDFEdit);
                     pdfViewControl.PDFView?.ReloadDocument();
 
-                    ExpandRightPropertyPanel(null, Visibility.Collapsed);
+                    RightPanelButton.IsChecked = false;
+                    if (PropertyContainer.Child != null && !(bool)ViewSettingBtn.IsChecked)
+                    {
+                        ExpandRightPropertyPanel(null, Visibility.Collapsed); 
+                    }
                     pdfViewControl.PDFView?.SetPDFEditCreateType(CPDFEditType.EditImage);
                     pdfViewControl.PDFView?.AddPDFEditImage(openFileDialog.FileName);
                 }
@@ -1227,7 +1240,6 @@ namespace PDFViewer
                 textEditControl.SetPDFTextEditData(e);
                 pdfEditControl = textEditControl as UIElement;
                 PropertyContainer.Child = pdfEditControl;
-                //ExpandRightPropertyPanel(pdfEditControl, Visibility.Visible);
                 return;
             }
 
@@ -1357,7 +1369,10 @@ namespace PDFViewer
                     AnnotationBarControl.Visibility = Visibility.Collapsed;
                     AnnotationBarControl.ClearAllToolState();
                     pdfAnnotationControl.ClearPanel();
-                    ExpandRightPropertyPanel(null, Visibility.Collapsed);
+                    if (!(bool)ViewSettingBtn.IsChecked)
+                    {
+                        ExpandRightPropertyPanel(null, Visibility.Collapsed);
+                    }
                     pdfViewControl.PDFView?.SetMouseMode(MouseModes.PanTool);
                     pdfViewControl.PDFView.AnnotEditHandler -= PDFView_AnnotEditHandler;
                     pdfAnnotationControl.ClearAnnotationBar -= PdfAnnotationControl_ClearAnnotationBar;
@@ -1385,12 +1400,15 @@ namespace PDFViewer
                     pdfViewControl.PDFView?.SetMouseMode(MouseModes.PanTool);
                     pdfViewControl.PDFView?.ReloadDocument();
                     pdfViewControl.PDFView.PDFEditActiveHandler -= PDFView_PDFEditActiveHandler;
-                    ExpandRightPropertyPanel(null, Visibility.Collapsed);
+                    if (!(bool)ViewSettingBtn.IsChecked)
+                    {
+                        ExpandRightPropertyPanel(null, Visibility.Collapsed);
+                    }
                     ClearPDFEditState();
                     pdfViewControl.PDFView?.UndoManager.ClearHistory();
                     if (displayPanel != null)
                     {
-                        displayPanel.SetSplitContainerVisibility(Visibility.Visible);
+                        displayPanel.SetVisibilityWhenContentEdit(Visibility.Visible);
                     }
                     break;
                 /*
@@ -1401,7 +1419,10 @@ namespace PDFViewer
                  * Clear undo history
                  */
                 case "Forms":
-                    ExpandRightPropertyPanel(null, Visibility.Collapsed);
+                    if (!(bool)ViewSettingBtn.IsChecked)
+                    {
+                        ExpandRightPropertyPanel(null, Visibility.Collapsed);
+                    }
                     FormBarControl.ClearAllToolState();
                     FormBarControl.Visibility = Visibility.Collapsed;
                     pdfViewControl.PDFView?.SetMouseMode(MouseModes.PanTool);
@@ -1486,7 +1507,7 @@ namespace PDFViewer
                 pdfViewControl.PDFView.SetSplitMode(SplitMode.None);
                 if (displayPanel != null)
                 {
-                    displayPanel.SetSplitContainerVisibility(Visibility.Collapsed);
+                    displayPanel.SetVisibilityWhenContentEdit(Visibility.Collapsed);
                 }
             }
 

+ 6 - 2
Demo/Examples/Samples/AnnotationTest/AnnotationTest.cs

@@ -38,8 +38,9 @@ namespace AnnotationTest
                 Console.WriteLine("Create annots failed.");
             }
             Console.WriteLine("--------------------");
+
             CPDFDocument annotsDocument = CPDFDocument.InitWithFilePath("Annotations.pdf");
-            if (CreateAnnots(annotsDocument))
+            if (DeleteAnnotations(annotsDocument))
             {
                 Console.WriteLine("Create annots done.");
             }
@@ -47,6 +48,7 @@ namespace AnnotationTest
             {
                 Console.WriteLine("Create annots failed.");
             }
+
             Console.WriteLine("--------------------");
             Console.WriteLine("Done");
             Console.WriteLine("--------------------");
@@ -54,6 +56,9 @@ namespace AnnotationTest
             Console.ReadLine();
         }
 
+        /// <summary>
+        /// Create freetext annotation
+        /// </summary>
         static private void CreateFreetextAnnotation(CPDFDocument document)
         {
             CPDFPage page = document.PageAtIndex(0);
@@ -83,7 +88,6 @@ namespace AnnotationTest
             ink.SetInkPath(points);
             ink.SetThickness(8);
 
-            //inkCore.SetInkPath(inkPathList);
             points.Clear();
             points.Add(new List<CPoint>()
             {

+ 2 - 2
Demo/Examples/Samples/BatesTest/BatesTest.cs

@@ -113,7 +113,7 @@ namespace BatesTest
             CPDFBates bates = document.GetBates();
             if(bates.GetText(0) != string.Empty)
             {
-                Console.WriteLine("Get old bates 0 succeeded, text is {0}", bates.GetText(0));
+                Console.WriteLine("Get old bates 0 done, text is {0}", bates.GetText(0));
             }
             else
             {
@@ -125,7 +125,7 @@ namespace BatesTest
 
             bates.Update();
              
-            Console.WriteLine("Change bates 0 succeeded, new text is {0}", bates.GetText(0));
+            Console.WriteLine("Change bates 0 done, new text is {0}", bates.GetText(0));
 
             string editBatesPath = outputPath + "\\EditBatesTest.pdf";