Преглед изворни кода

PDFView(Windows) - 补充PDF信息高保真

liyuxuan пре 1 година
родитељ
комит
57f15ac317

+ 17 - 18
compdfkit_demo_windows/compdfkit/compdfkit-tools/PDFView/PDFInfo/CPDFAbstractInfoControl.xaml

@@ -3,35 +3,34 @@
              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" 
-             mc:Ignorable="d" 
-             d:DesignHeight="220" d:DesignWidth="200">
-    <Grid Margin="10,0,0,0">
-        <StackPanel Orientation="Vertical">
-            <TextBlock Text="摘要" Height="40"></TextBlock>
+             mc:Ignorable="d">
+    <GroupBox Header="Abstract">
+        <StackPanel Orientation="Vertical" Margin="19,12,0,0">
+            
             <StackPanel Orientation="Horizontal"  Height="30">
-                <TextBlock Text="文件名" Width="40"></TextBlock>
-                <TextBlock x:Name="FileNameTextBlock" TextWrapping="NoWrap" />
+                <TextBlock Text="Name:"></TextBlock>
+                <TextBlock x:Name="FileNameTextBlock" TextWrapping="NoWrap" Margin="4,0,0,0" Foreground="#999999"/>
             </StackPanel>
             <StackPanel Orientation="Horizontal"  Height="30">
-                <TextBlock Text="大小"  Width="40"></TextBlock>
-                <TextBlock x:Name="FileSizeTextBlock"></TextBlock>
+                <TextBlock Text="Size:"></TextBlock>
+                <TextBlock x:Name="FileSizeTextBlock" Margin="4,0,0,0" Foreground="#999999"></TextBlock>
             </StackPanel>
             <StackPanel Orientation="Horizontal"  Height="30">
-                <TextBlock Text="标题"  Width="40"></TextBlock>
-                <TextBlock x:Name="TitleTextBlock"></TextBlock>
+                <TextBlock Text="Title:"></TextBlock>
+                <TextBlock x:Name="TitleTextBlock" Margin="4,0,0,0" Foreground="#999999"></TextBlock>
             </StackPanel>
             <StackPanel Orientation="Horizontal"  Height="30">
-                <TextBlock Text="作者"  Width="40"></TextBlock>
-                <TextBlock x:Name="AuthorTextBlock"></TextBlock>
+                <TextBlock Text="Author:"></TextBlock>
+                <TextBlock x:Name="AuthorTextBlock" Margin="4,0,0,0" Foreground="#999999"></TextBlock>
             </StackPanel>
             <StackPanel Orientation="Horizontal"  Height="30">
-                <TextBlock Text="主题"  Width="40"></TextBlock>
-                <TextBlock x:Name="SubjectTextBlock"></TextBlock>
+                <TextBlock Text="Theme:"></TextBlock>
+                <TextBlock x:Name="SubjectTextBlock" Margin="4,0,0,0" Foreground="#999999"></TextBlock>
             </StackPanel>
             <StackPanel Orientation="Horizontal"  Height="30">
-                <TextBlock Text="关键字"  Width="40"></TextBlock>
-                <TextBlock x:Name="KeywordTextBlock"></TextBlock>
+                <TextBlock Text="Keywords:"></TextBlock>
+                <TextBlock x:Name="KeywordTextBlock" Margin="4,0,0,0" Foreground="#999999"></TextBlock>
             </StackPanel>
         </StackPanel>
-    </Grid>
+    </GroupBox>
 </UserControl>

+ 15 - 16
compdfkit_demo_windows/compdfkit/compdfkit-tools/PDFView/PDFInfo/CPDFCreateInfoControl.xaml

@@ -4,31 +4,30 @@
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:local="clr-namespace:compdfkit_tools"
-             mc:Ignorable="d" 
-             d:DesignHeight="190" d:DesignWidth="200">
-    <Grid>
-        <StackPanel Orientation="Vertical" Margin="10,0,0,0">
-            <TextBlock Text="创建信息" Height="40"></TextBlock>
+             mc:Ignorable="d">
+    <GroupBox Header="Creation">
+        <StackPanel Orientation="Vertical" Margin="19,12,0,0">
+            
             <StackPanel Orientation="Horizontal"  Height="30">
-                <TextBlock Text="版本"  Width="50"></TextBlock>
-                <TextBlock x:Name="VersionTextBlock"></TextBlock>
+                <TextBlock Text="Version:"></TextBlock>
+                <TextBlock x:Name="VersionTextBlock" Margin="4,0,0,0" Foreground="#999999"></TextBlock>
             </StackPanel>
             <StackPanel Orientation="Horizontal"  Height="30">
-                <TextBlock Text="页数"  Width="50"></TextBlock>
-                <TextBlock x:Name="PageCountTextBlock"></TextBlock>
+                <TextBlock Text="Pages:"></TextBlock>
+                <TextBlock x:Name="PageCountTextBlock" Margin="4,0,0,0" Foreground="#999999"></TextBlock>
             </StackPanel>
             <StackPanel Orientation="Horizontal"  Height="30">
-                <TextBlock Text="创建者"  Width="50"></TextBlock>
-                <TextBlock x:Name="CreatorTextBlock"></TextBlock>
+                <TextBlock Text="Creator:"></TextBlock>
+                <TextBlock x:Name="CreatorTextBlock" Margin="4,0,0,0" Foreground="#999999"></TextBlock>
             </StackPanel>
             <StackPanel Orientation="Horizontal"  Height="30">
-                <TextBlock Text="创建时间"  Width="50"></TextBlock>
-                <TextBlock x:Name="CreationDateTextBlock"></TextBlock>
+                <TextBlock Text="Date created:"></TextBlock>
+                <TextBlock x:Name="CreationDateTextBlock" Margin="4,0,0,0" Foreground="#999999"></TextBlock>
             </StackPanel>
             <StackPanel Orientation="Horizontal"  Height="30">
-                <TextBlock Text="修改时间"  Width="50"></TextBlock>
-                <TextBlock x:Name="ModificationDateTextBlock"></TextBlock>
+                <TextBlock Text="Date modified:"></TextBlock>
+                <TextBlock x:Name="ModificationDateTextBlock" Margin="4,0,0,0" Foreground="#999999"></TextBlock>
             </StackPanel>
         </StackPanel>
-    </Grid>
+    </GroupBox>
 </UserControl>

+ 34 - 3
compdfkit_demo_windows/compdfkit/compdfkit-tools/PDFView/PDFInfo/CPDFCreateInfoControl.xaml.cs

@@ -5,12 +5,14 @@ using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
+using System.Text.RegularExpressions;
 using System.Threading.Tasks;
 using System.Windows;
 using System.Windows.Controls;
 using System.Windows.Data;
 using System.Windows.Documents;
 using System.Windows.Input;
+using System.Windows.Markup;
 using System.Windows.Media;
 using System.Windows.Media.Imaging;
 using System.Windows.Navigation;
@@ -39,10 +41,39 @@ namespace compdfkit_tools.PDFControl
         private void InitializeCreateInfo(CPDFDocument cpdfDocument)
         {
             VersionTextBlock.Text = cpdfDocument.GetInfo().Version;
-            PageCountTextBlock.Text=cpdfDocument.PageCount.ToString();
+            PageCountTextBlock.Text = cpdfDocument.PageCount.ToString();
             CreatorTextBlock.Text = cpdfDocument.GetInfo().Creator;
-            CreationDateTextBlock.Text = cpdfDocument.GetInfo().CreationDate;
-            ModificationDateTextBlock.Text = cpdfDocument.GetInfo().ModificationDate;
+            CreationDateTextBlock.Text = ConverPDFTime(cpdfDocument.GetInfo().CreationDate);
+            ModificationDateTextBlock.Text = ConverPDFTime(cpdfDocument.GetInfo().ModificationDate);
+        }
+
+        private string ConverPDFTime(string timeText)
+        {
+            try
+            {
+                if (Regex.IsMatch(timeText, "(?<=D\\:)[0-9]+(?=[\\+\\-])"))
+                {
+                    string dateStr = Regex.Match(timeText, "(?<=D\\:)[0-9]+(?=[\\+\\-])").Value;
+                    timeText = dateStr.Substring(0, 4) + "-" + dateStr.Substring(4, 2) + "-" + dateStr.Substring(6, 2) + " " + dateStr.Substring(8, 2) + ":" +
+                        dateStr.Substring(10, 2) + ":" + dateStr.Substring(12, 2);
+                }
+                else if (Regex.IsMatch(timeText, "(?<=D\\:)[0-9]+"))
+                {
+                    string dateStr = Regex.Match(timeText, "(?<=D\\:)[0-9]+").Value;
+                    if (dateStr.Length > 0)
+                    {
+                        timeText = dateStr.Substring(0, 4) + "-" + dateStr.Substring(4, 2) + "-" + dateStr.Substring(6, 2) + " " + dateStr.Substring(8, 2) + ":" +
+                        dateStr.Substring(10, 2) + ":" + dateStr.Substring(12, 2);
+                    }
+                }
+            }
+            catch(Exception ex)
+            {
+
+            }
+           
+
+            return timeText;
         }
     }
 }

+ 5 - 7
compdfkit_demo_windows/compdfkit/compdfkit-tools/PDFView/PDFInfo/CPDFInfoControl.xaml

@@ -4,14 +4,12 @@
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:cpdftools="clr-namespace:compdfkit_tools.PDFControl"
-
-             mc:Ignorable="d" 
-             d:DesignHeight="240" d:DesignWidth="600">
+             mc:Ignorable="d">
     <Grid>
-        <StackPanel Orientation="Horizontal">
-            <cpdftools:CPDFAbstractInfoControl x:Name="CPDFAbstractInfoControl" Width="200"></cpdftools:CPDFAbstractInfoControl>
-            <cpdftools:CPDFCreateInfoControl x:Name="CPDFCreateInfoControl" Width="200"></cpdftools:CPDFCreateInfoControl>
-            <cpdftools:CPDFSecurityInfoControl x:Name="CPDFSecurityInfoControl" Width="200"></cpdftools:CPDFSecurityInfoControl>
+        <StackPanel Orientation="Vertical">
+            <cpdftools:CPDFAbstractInfoControl x:Name="CPDFAbstractInfoControl"></cpdftools:CPDFAbstractInfoControl>
+            <cpdftools:CPDFCreateInfoControl x:Name="CPDFCreateInfoControl" Margin="0,21,0,0"></cpdftools:CPDFCreateInfoControl>
+            <cpdftools:CPDFSecurityInfoControl x:Name="CPDFSecurityInfoControl"></cpdftools:CPDFSecurityInfoControl>
         </StackPanel>
     </Grid>
 </UserControl>

+ 16 - 18
compdfkit_demo_windows/compdfkit/compdfkit-tools/PDFView/PDFInfo/CPDFSecurityInfoControl.xaml

@@ -4,35 +4,33 @@
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:local="clr-namespace:compdfkit_tools"
-             mc:Ignorable="d" 
-             d:DesignHeight="220" d:DesignWidth="200">
-    <Grid>
-        <StackPanel Orientation="Vertical"  Margin="10,0,0,0">
-            <TextBlock Text="访问权限" Height="40"></TextBlock>
+             mc:Ignorable="d">
+    <GroupBox Header="Access">
+        <StackPanel Orientation="Vertical" Margin="19,12,0,0">
             <StackPanel Orientation="Horizontal"  Height="30">
-                <TextBlock Text="打印" Width="80"></TextBlock>
-                <TextBlock x:Name="AllowsPrintingTextBlock"></TextBlock>
+                <TextBlock Text="Print:"></TextBlock>
+                <TextBlock x:Name="AllowsPrintingTextBlock" Margin="4,0,0,0" Foreground="#999999"></TextBlock>
             </StackPanel>
             <StackPanel Orientation="Horizontal"  Height="30">
-                <TextBlock Text="内容复制" Width="80"></TextBlock>
-                <TextBlock x:Name="AllowsCopyingTextBlock"></TextBlock>
+                <TextBlock Text="Allow Copy:" ></TextBlock>
+                <TextBlock x:Name="AllowsCopyingTextBlock" Margin="4,0,0,0" Foreground="#999999"></TextBlock>
             </StackPanel>
             <StackPanel Orientation="Horizontal"  Height="30">
-                <TextBlock Text="更改文档" Width="80"></TextBlock>
-                <TextBlock x:Name="AllowsDocumentChangesTextBlock"></TextBlock>
+                <TextBlock Text="Allow Change:"></TextBlock>
+                <TextBlock x:Name="AllowsDocumentChangesTextBlock" Margin="4,0,0,0" Foreground="#999999"></TextBlock>
             </StackPanel>
             <StackPanel Orientation="Horizontal"  Height="30">
-                <TextBlock Text="文档组合" Width="80"></TextBlock>
-                <TextBlock x:Name="AllowsDocumentAssemblyTextBlock"></TextBlock>
+                <TextBlock Text="Document Portfolio:"></TextBlock>
+                <TextBlock x:Name="AllowsDocumentAssemblyTextBlock" Margin="4,0,0,0" Foreground="#999999"></TextBlock>
             </StackPanel>
             <StackPanel Orientation="Horizontal"  Height="30">
-                <TextBlock Text="注释" Width="80"></TextBlock>
-                <TextBlock x:Name="AllowsCommentingTextBlock"></TextBlock>
+                <TextBlock Text="Allow Annotations:"></TextBlock>
+                <TextBlock x:Name="AllowsCommentingTextBlock" Margin="4,0,0,0" Foreground="#999999"></TextBlock>
             </StackPanel>
             <StackPanel Orientation="Horizontal"  Height="30">
-                <TextBlock Text="填写表单域" Width="80"></TextBlock>
-                <TextBlock x:Name="AllowsFormFieldEntryTextBlock"></TextBlock>
+                <TextBlock Text="Fill and Froms:"></TextBlock>
+                <TextBlock x:Name="AllowsFormFieldEntryTextBlock" Margin="4,0,0,0" Foreground="#999999"></TextBlock>
             </StackPanel>
         </StackPanel>
-    </Grid>
+    </GroupBox>
 </UserControl>