Browse Source

compdfkit(win) - 部分bug修复

weixiangjie 1 year ago
parent
commit
59ff218a3d

File diff suppressed because it is too large
+ 15 - 9
Demo/Examples/Compdfkit_Tools/Common/BarControl/CPDFDigitalSignatureBarControl.xaml.cs


+ 0 - 4
Demo/Examples/Compdfkit_Tools/Compdfkit_Tools.csproj

@@ -259,9 +259,6 @@
     <Compile Include="DigitalSignature\VerifyDigitalSignatureControl\DigitalSignatureValiditySummaaryControl.xaml.cs">
       <DependentUpon>DigitalSignatureValiditySummaaryControl.xaml</DependentUpon>
     </Compile>
-    <Compile Include="DigitalSignature\VerifyDigitalSignatureControl\SignerInfoControl.xaml.cs">
-      <DependentUpon>SignerInfoControl.xaml</DependentUpon>
-    </Compile>
     <Compile Include="DigitalSignature\VerifyDigitalSignatureControl\VerifyDigitalSignatureControl.xaml.cs">
       <DependentUpon>VerifyDigitalSignatureControl.xaml</DependentUpon>
     </Compile>
@@ -736,7 +733,6 @@
     <Page Include="DigitalSignature\SignatureStatusBarControl\SignatureStatusBarControl.xaml" />
     <Page Include="DigitalSignature\VerifyDigitalSignatureControl\DigitalSignatureInfoControl.xaml" />
     <Page Include="DigitalSignature\VerifyDigitalSignatureControl\DigitalSignatureValiditySummaaryControl.xaml" />
-    <Page Include="DigitalSignature\VerifyDigitalSignatureControl\SignerInfoControl.xaml" />
     <Page Include="DigitalSignature\VerifyDigitalSignatureControl\VerifyDigitalSignatureControl.xaml" />
     <Page Include="Edit\ContentEditControl\ContentEditControl.xaml">
       <SubType>Designer</SubType>

+ 13 - 0
Demo/Examples/Compdfkit_Tools/DigitalSignature/AddCertificationControl/AddCertificationDialog.xaml.cs

@@ -23,6 +23,12 @@ namespace Compdfkit_Tools.PDFControl
         private AddCustomCertificationControl addCustomCertificationControl = null;
         private AddExistedCertificationControl addExistedCertificationControl = null;
         private SaveCerficateControl saveCerficateControl = null;
+
+        private string addCertificationControlTitle = "Add Digital Signatures";
+        private string addExistedCertificationControlTitle = "Add A Digital ID";
+        private string addCustomCertificationControlTitle = "Customize the Signature";
+        private string saveCerficateControlTitle = "Save the Self-Signed Digital ID to A File";
+        
         public event EventHandler<CertificateAccess> FillSignatureEvent;
 
 
@@ -31,6 +37,7 @@ namespace Compdfkit_Tools.PDFControl
             InitializeComponent();
             addCertificationControl = new AddCertificationControl();
             BodyBd.Child = addCertificationControl;
+            Title = addCertificationControlTitle;
         }
 
         private void Window_Loaded(object sender, RoutedEventArgs e)
@@ -47,6 +54,7 @@ namespace Compdfkit_Tools.PDFControl
             {
                 addExistedCertificationControl = new AddExistedCertificationControl();
                 BodyBd.Child = addExistedCertificationControl;
+                Title = addExistedCertificationControlTitle;
                 this.Height = addExistedCertificationControl.Height + 35;
                 this.Width = addExistedCertificationControl.Width + 20;
                  
@@ -60,6 +68,7 @@ namespace Compdfkit_Tools.PDFControl
             {
                 addCustomCertificationControl = new AddCustomCertificationControl();
                 BodyBd.Child = addCustomCertificationControl;
+                Title = addCustomCertificationControlTitle;
                 this.Height = addCustomCertificationControl.Height + 35;
                 this.Width = addCustomCertificationControl.Width + 20;
 
@@ -74,6 +83,8 @@ namespace Compdfkit_Tools.PDFControl
                 saveCerficateControl = new SaveCerficateControl();
                 saveCerficateControl.CertificateInfo = addCustomCertificationControl.certificateInfo;
                 BodyBd.Child = saveCerficateControl;
+                Title = saveCerficateControlTitle;
+                
                 this.Height = saveCerficateControl.Height + 20;
                 this.Width = saveCerficateControl.Width + 20;
                 saveCerficateControl.FillSignatureEvent -= FillSignature;
@@ -93,6 +104,7 @@ namespace Compdfkit_Tools.PDFControl
         {
             addCertificationControl = new AddCertificationControl();
             BodyBd.Child = addCertificationControl;
+            Title = addCertificationControlTitle;
             this.Height = addCertificationControl.Height + 35;
             this.Width = addCertificationControl.Width + 20;
             addCertificationControl.ContinueEvent -= ContinueEvent;
@@ -102,6 +114,7 @@ namespace Compdfkit_Tools.PDFControl
         private void CancelSaveEvent(object sender, EventArgs e)
         {
             BodyBd.Child = addCustomCertificationControl;
+            Title = addCustomCertificationControlTitle;
             this.Height = addCustomCertificationControl.Height + 35;
             this.Width = addCustomCertificationControl.Width + 20;
             addCustomCertificationControl.ContinueEvent -= ContinueEvent;

+ 1 - 6
Demo/Examples/Compdfkit_Tools/DigitalSignature/AddCertificationControl/AddCustomCertificationControl.xaml

@@ -29,7 +29,6 @@
                     <RowDefinition></RowDefinition>
                     <RowDefinition></RowDefinition>
                     <RowDefinition></RowDefinition>
-                    <RowDefinition></RowDefinition>
                 </Grid.RowDefinitions>
                 <Grid.ColumnDefinitions>
                     <ColumnDefinition Width="*"></ColumnDefinition>
@@ -65,12 +64,8 @@
                 <Grid Grid.Column="1" Grid.Row="4">
                     <ComboBox Margin="0,5,0,5" Name="AreaCmb" SelectedIndex="0" SelectionChanged="AreaCmb_SelectionChanged"></ComboBox>
                 </Grid>
-                <TextBlock Grid.Row="5" Text="Algorithm" VerticalAlignment="Center"></TextBlock>
+                <TextBlock Grid.Row="5" Text="Purpose" VerticalAlignment="Center"></TextBlock>
                 <Grid Grid.Column="1" Grid.Row="5">
-                    <ComboBox Margin="0,5,0,5" Name="AlgorithmCmb" SelectedIndex="0" SelectionChanged="AlgorithmCmb_SelectionChanged"></ComboBox>
-                </Grid>
-                <TextBlock Grid.Row="6" Text="Purpose" VerticalAlignment="Center"></TextBlock>
-                <Grid Grid.Column="1" Grid.Row="6">
                     <ComboBox Margin="0,5,0,5" Name="PurposeCmb" SelectedIndex="0" SelectionChanged="PurposeCmb_SelectionChanged"></ComboBox>
                 </Grid>
             </Grid>

+ 0 - 17
Demo/Examples/Compdfkit_Tools/DigitalSignature/AddCertificationControl/AddCustomCertificationControl.xaml.cs

@@ -90,7 +90,6 @@ namespace Compdfkit_Tools.PDFControl
         private void FillComboBox()
         {
             FillComboBoxWithCountries();
-            FillComboBoxWithAlgorithm();
             FillComboBoxWithPropose();
         }
 
@@ -103,16 +102,8 @@ namespace Compdfkit_Tools.PDFControl
 
         }
 
-        private void FillComboBoxWithAlgorithm()
-        {
-            AlgorithmCmb.Items.Clear();
-            AlgorithmCmb.Items.Add("1024-bit RSA");
-            AlgorithmCmb.Items.Add("2048-bit RSA");
-        }
-
         private void FillComboBoxWithCountries()
         {
-            AlgorithmCmb.Items.Clear();
             var countries = countryProvider.GetCountries();
             foreach (var country in countries)
             {
@@ -159,14 +150,6 @@ namespace Compdfkit_Tools.PDFControl
             }
         }
 
-        private void AlgorithmCmb_SelectionChanged(object sender, SelectionChangedEventArgs e)
-        {
-            if (AlgorithmCmb.SelectedItem != null)
-            {
-                certificateInfo.AlgorithmType = (AlgorithmType)AlgorithmCmb.SelectedIndex;
-            }
-        }
-
         private void PurposeCmb_SelectionChanged(object sender, SelectionChangedEventArgs e)
         {
             if (PurposeCmb.SelectedItem != null)

+ 1 - 1
Demo/Examples/Compdfkit_Tools/DigitalSignature/AddCertificationControl/AddExistedCertificationControl.xaml.cs

@@ -45,7 +45,7 @@ namespace Compdfkit_Tools.PDFControl
 
         private void SelectFileBtn_Click(object sender, System.Windows.RoutedEventArgs e)
         {
-            string filePath = CommonHelper.GetExistedPathOrEmpty("PFX Files(*.pfx) | *.pfx");
+            string filePath = CommonHelper.GetExistedPathOrEmpty("PFX Files(*.pfx) | *.pfx|P12 Files(*.p12) | *.p12");
             if (filePath != string.Empty)
             {
                 FileNameTxt.Text = filePath;

+ 10 - 0
Demo/Examples/Compdfkit_Tools/DigitalSignature/DigitalSignatureControl/DigitalSignatureControl.xaml.cs

@@ -94,6 +94,7 @@ namespace Compdfkit_Tools.PDFControl
             PropertyContainer.Child = null;
             displaySettingsControl = null;
             SignatureStatusBorder.Child = null;
+            DigitalSignatureBarControl.ClearAllToolState();
         }
 
         public void InitWithPDFViewer(CPDFViewer pdfViewer)
@@ -264,6 +265,15 @@ namespace Compdfkit_Tools.PDFControl
                 e.VerifySignatureWithDocument(PDFViewControl.PDFView.Document);
                 SignatureStatusChanged?.Invoke(this, null);
             };
+            
+            VerifyDigitalSignatureControl verifyControl = parentWindow as VerifyDigitalSignatureControl;
+            if (verifyControl != null)
+            {
+                dialog.CertificateInfoControl.TrustCertificateEvent += (o, args) =>
+                {
+                    verifyControl.InitWithSignature(e);
+                };
+            }
             dialog.ShowDialog();
         }
 

+ 3 - 3
Demo/Examples/Compdfkit_Tools/DigitalSignature/FillDigitalSignatureControl/FillDigitalSignatureControl.xaml

@@ -172,7 +172,7 @@
         </Grid>
         
         <Border Name="KeyboardPopup" Background="#A0000000" Visibility="Collapsed">
-            <Grid Background="White" Width="628" Height="412">
+            <Grid Background="White" Width="528" Height="412">
                     <Grid.RowDefinitions>
                         <RowDefinition Height="auto" />
                         <RowDefinition Height="*" />
@@ -192,7 +192,7 @@
                     </Button.Content>
                 </Button>
                     <TextBox     
-                    x:Name="KeyboardInPutTextBox" Grid.Row="1" BorderThickness="0" Background="#F2F3F5" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontSize="45"/>
+                    x:Name="KeyboardInPutTextBox" Grid.Row="1" BorderThickness="0" Background="#F2F3F5" Margin="10,0,10,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontSize="45"/>
                     <StackPanel Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Center" Orientation="Horizontal" Margin="0,10,20,10">
                         <common:ColorPickerControl x:Name="TextColorPickerControl" Loaded="TextColorPickerControl_Loaded" ColorChanged="TextColorPickerControl_ColorChanged" TransparentBtnProperty="Collapsed"></common:ColorPickerControl>
                     </StackPanel>
@@ -209,7 +209,7 @@
         </Border>
 
         <Border Name="CanvaDrawPopup" Background="#A0000000" Visibility="Collapsed">
-            <Grid Background="White" Width="628" Height="412">
+            <Grid Background="White" Width="528" Height="412">
                 <Grid.RowDefinitions>
                     <RowDefinition Height="auto"></RowDefinition>
                     <RowDefinition Height="*"></RowDefinition>

+ 11 - 1
Demo/Examples/Compdfkit_Tools/DigitalSignature/FillDigitalSignatureControl/FillDigitalSignatureControl.xaml.cs

@@ -85,6 +85,7 @@ namespace Compdfkit_Tools.PDFControl
             TabChk.IsChecked = true;
             SetProperty();
             CreateTempSignature();
+            KeyboardInPutTextBox.Text = signatureName;
         }
 
         public CPDFSignatureWidget signatureWidget { get; set; }
@@ -102,6 +103,7 @@ namespace Compdfkit_Tools.PDFControl
                 ["None"] = NoneBorder
             };
             SetCheckedTab("Keyboard");
+            ReasonCmb.SelectedIndex = 0;
         }
 
         private void CreateTempSignature()
@@ -407,7 +409,15 @@ namespace Compdfkit_Tools.PDFControl
             if (!string.IsNullOrEmpty(pngPath))
             {
                 imagePath = pngPath;
-                tempSignatureConfig.ImageBitmap = new Bitmap(imagePath);
+                try
+                {
+                    tempSignatureConfig.ImageBitmap = new Bitmap(imagePath);
+                }
+                catch (Exception exception)
+                {
+                    MessageBox.Show("The image is invalid.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
+                    return;
+                }
                 SetProperty();
                 CreateTempSignature();
             }

+ 1 - 1
Demo/Examples/Compdfkit_Tools/DigitalSignature/FillDigitalSignatureControl/FillDigitalSignatureDialog.xaml

@@ -6,7 +6,7 @@
         xmlns:local="clr-namespace:Compdfkit_Tools.PDFControl"
         mc:Ignorable="d"
         ResizeMode="NoResize"
-        Title="FillDigitalSignatureDialog"  Width="630" Height="550">
+        Title="Customize the Signature Appearance"  Width="630" Height="550">
     <Grid>
         <local:FillDigitalSignatureControl x:Name="FillDigitalSignatureControl"></local:FillDigitalSignatureControl>
     </Grid>

+ 0 - 21
Demo/Examples/Compdfkit_Tools/DigitalSignature/VerifyDigitalSignatureControl/SignerInfoControl.xaml

@@ -1,21 +0,0 @@
-<UserControl x:Class="Compdfkit_Tools.DigitalSignature.VerifyDigitalSignatureControl.SignerInfoControl"
-             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
-             xmlns:local="clr-namespace:Compdfkit_Tools.DigitalSignature.VerifyDigitalSignatureControl"
-             mc:Ignorable="d"
-             d:DesignHeight="147" d:DesignWidth="504">
-    <Grid>
-        <Grid Background="#ffffff"  Margin="20,0,0,0"  Panel.ZIndex="1" Height="20" HorizontalAlignment="Left" VerticalAlignment="Top">
-            <TextBlock Text="Signer information" FontWeight="Bold" FontSize="14" FontFamily="Segoe UI"></TextBlock>
-        </Grid>
-        <Border Margin="10" BorderBrush="#33000000" BorderThickness="1">
-            <StackPanel>
-                <TextBlock  Margin="10" Text="{Binding SignerInfoString}" Height="52" Width="448"></TextBlock>
-                <Button Width="158" Height="32" Content="View signer certificates" Margin="10,0,10,10" HorizontalAlignment="Left"></Button>
-            </StackPanel>
-            
-        </Border>
-    </Grid>
-</UserControl>

+ 0 - 37
Demo/Examples/Compdfkit_Tools/DigitalSignature/VerifyDigitalSignatureControl/SignerInfoControl.xaml.cs

@@ -1,37 +0,0 @@
-using System.ComponentModel;
-using System.Runtime.CompilerServices;
-using System.Windows.Controls;
-
-namespace Compdfkit_Tools.DigitalSignature.VerifyDigitalSignatureControl
-{
-    public partial class SignerInfoControl : UserControl, INotifyPropertyChanged
-    {
-        private string _signerInfoString;
-        public string SignerInfoString
-        {
-            get => _signerInfoString;
-            set => UpdateProper(ref _signerInfoString, value);
-        }
-        
-        public SignerInfoControl()
-        {
-            InitializeComponent();
-        }
-        
-        public event PropertyChangedEventHandler PropertyChanged;
-
-        protected void UpdateProper<T>(ref T properValue,
-            T newValue,
-            [CallerMemberName] string properName = "")
-        {
-            if (object.Equals(properValue, newValue))
-                return;
-
-            properValue = newValue;
-            OnPropertyChanged(properName);
-        }
-
-        protected void OnPropertyChanged([CallerMemberName] string propertyName = "") =>
-            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
-    }
-}