Browse Source

Merge branch 'dev' of http://git.kdan.cc:8865/Windows/PDFOffice_Windows_exe into dev

ZhouJieSheng 2 years ago
parent
commit
1f19b804ba
51 changed files with 9211 additions and 8195 deletions
  1. 5 0
      PDF Office/App.xaml.cs
  2. 1432 1346
      PDF Office/MultilingualResources/PDF Office.en.xlf
  3. 1432 1346
      PDF Office/MultilingualResources/PDF Office.zh-Hans.xlf
  4. 1432 1346
      PDF Office/MultilingualResources/PDF Office.zh-Hant.xlf
  5. 14 14
      PDF Office/Strings/HomePage/HomePage.en.resx
  6. 14 14
      PDF Office/Strings/HomePage/HomePage.zh-Hans.resx
  7. 14 14
      PDF Office/Strings/HomePage/HomePage.zh-Hant.resx
  8. 2315 2151
      PDF Office/Strings/MainPage/MainPage.Designer.cs
  9. 14 14
      PDF Office/Strings/MainPage/MainPage.en.resx
  10. 916 850
      PDF Office/Strings/MainPage/MainPage.resx
  11. 14 14
      PDF Office/Strings/MainPage/MainPage.zh-Hans.resx
  12. 14 14
      PDF Office/Strings/MainPage/MainPage.zh-Hant.resx
  13. 14 14
      PDF Office/Strings/Service/Service.en.resx
  14. 14 14
      PDF Office/Strings/Service/Service.zh-Hans.resx
  15. 14 14
      PDF Office/Strings/Service/Service.zh-Hant.resx
  16. 15 6
      PDF Office/ViewModels/BOTA/SearchContentViewModel.cs
  17. 44 0
      PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterCSVDialogViewModel.cs
  18. 156 0
      PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterExcelDialogViewModel.cs
  19. 10 0
      PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterHTMLDialogViewModel.cs
  20. 21 0
      PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterImgDialogViewModel.cs
  21. 11 0
      PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterPPTDialogViewModel.cs
  22. 11 0
      PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterRTFDialogViewModel.cs
  23. 11 0
      PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterTextDialogViewModel.cs
  24. 11 0
      PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterWordDialogViewModel.cs
  25. 97 19
      PDF Office/ViewModels/FillAndSign/PropertyPanel/ShapFillPropertyViewModel.cs
  26. 77 53
      PDF Office/ViewModels/PropertyPanel/AnnotPanel/LinkAnnotPropertyViewModel.cs
  27. 922 907
      PDF Office/ViewModels/Tools/AnnotToolContentViewModel.Command.cs
  28. 1 1
      PDF Office/ViewModels/Tools/AnnotToolContentViewModel.Function.cs
  29. 46 0
      PDF Office/ViewModels/Tools/ToolsBarContentViewModel.cs
  30. 4 0
      PDF Office/ViewModels/ViewContentViewModel.cs
  31. 3 0
      PDF Office/Views/BOTA/OutLineControl.xaml
  32. 73 4
      PDF Office/Views/BOTA/OutLineControl.xaml.cs
  33. 1 1
      PDF Office/Views/BOTA/SearchContent.xaml
  34. 4 4
      PDF Office/Views/Dialog/ConverterDialogs/ConverterCSVDialog.xaml
  35. 1 1
      PDF Office/Views/Dialog/ConverterDialogs/ConverterCSVDialog.xaml.cs
  36. 13 13
      PDF Office/Views/Dialog/ConverterDialogs/ConverterExcelDialog.xaml
  37. 1 1
      PDF Office/Views/Dialog/ConverterDialogs/ConverterExcelDialog.xaml.cs
  38. 1 1
      PDF Office/Views/Dialog/ConverterDialogs/ConverterHTMLDialog.xaml
  39. 1 1
      PDF Office/Views/Dialog/ConverterDialogs/ConverterHTMLDialog.xaml.cs
  40. 2 2
      PDF Office/Views/Dialog/ConverterDialogs/ConverterImgDialog.xaml
  41. 1 1
      PDF Office/Views/Dialog/ConverterDialogs/ConverterImgDialog.xaml.cs
  42. 1 1
      PDF Office/Views/Dialog/ConverterDialogs/ConverterPPTDialog.xaml
  43. 1 1
      PDF Office/Views/Dialog/ConverterDialogs/ConverterPPTDialog.xaml.cs
  44. 1 1
      PDF Office/Views/Dialog/ConverterDialogs/ConverterRTFDialog.xaml
  45. 1 1
      PDF Office/Views/Dialog/ConverterDialogs/ConverterRTFDialog.xaml.cs
  46. 1 1
      PDF Office/Views/Dialog/ConverterDialogs/ConverterTextDialog.xaml
  47. 1 1
      PDF Office/Views/Dialog/ConverterDialogs/ConverterTextDialog.xaml.cs
  48. 3 3
      PDF Office/Views/Dialog/ConverterDialogs/ConverterWordDialog.xaml
  49. 1 1
      PDF Office/Views/Dialog/ConverterDialogs/ConverterWordDialog.xaml.cs
  50. 1 1
      PDF Office/Views/FillAndSign/PropertyPanel/ShapFillProperty.xaml
  51. 4 4
      PDF Office/Views/Tools/ToolsBarContent.xaml

+ 5 - 0
PDF Office/App.xaml.cs

@@ -129,6 +129,11 @@ namespace PDF_Master
         //app第一次启动时需要弹出注册弹窗
         public static bool IsShowRegist = false;
 
+        /// <summary>
+        /// 记录开始拖拽的窗口句柄,用于判断是否为跨窗口拖拽
+        /// </summary>
+        public static MainWindow DropStartWindow = null;
+
         /// <summary>
         /// 双击打开文件通知ID
         /// </summary>

File diff suppressed because it is too large
+ 1432 - 1346
PDF Office/MultilingualResources/PDF Office.en.xlf


File diff suppressed because it is too large
+ 1432 - 1346
PDF Office/MultilingualResources/PDF Office.zh-Hans.xlf


File diff suppressed because it is too large
+ 1432 - 1346
PDF Office/MultilingualResources/PDF Office.zh-Hant.xlf


+ 14 - 14
PDF Office/Strings/HomePage/HomePage.en.resx

@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
 </root>

+ 14 - 14
PDF Office/Strings/HomePage/HomePage.zh-Hans.resx

@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
 </root>

+ 14 - 14
PDF Office/Strings/HomePage/HomePage.zh-Hant.resx

@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
 </root>

File diff suppressed because it is too large
+ 2315 - 2151
PDF Office/Strings/MainPage/MainPage.Designer.cs


+ 14 - 14
PDF Office/Strings/MainPage/MainPage.en.resx

@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
 </root>

File diff suppressed because it is too large
+ 916 - 850
PDF Office/Strings/MainPage/MainPage.resx


+ 14 - 14
PDF Office/Strings/MainPage/MainPage.zh-Hans.resx

@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
 </root>

+ 14 - 14
PDF Office/Strings/MainPage/MainPage.zh-Hant.resx

@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
 </root>

+ 14 - 14
PDF Office/Strings/Service/Service.en.resx

@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
 </root>

+ 14 - 14
PDF Office/Strings/Service/Service.zh-Hans.resx

@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
 </root>

+ 14 - 14
PDF Office/Strings/Service/Service.zh-Hant.resx

@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
 </root>

+ 15 - 6
PDF Office/ViewModels/BOTA/SearchContentViewModel.cs

@@ -267,15 +267,24 @@ namespace PDF_Master.ViewModels.BOTA
 
             if (PDFViewer != null && textSearch != null)
             {
-                SearchItem currentItem = obj as SearchItem;
+                System.Collections.IList currentItem = obj as System.Collections.IList;
                 if (currentItem != null && PDFViewer != null)
                 {
                     List<TextSearchItem> pageTextList = new List<TextSearchItem>();
-                    currentItem.TextProperty.SearchItem.BorderBrush = new SolidColorBrush(Color.FromArgb(0xFF, 0x17, 0x70, 0xF4));
-                    currentItem.TextProperty.SearchItem.Padding = new Thickness(3);
-                    currentItem.TextProperty.SearchItem.BorderThickness = 1;
-                    pageTextList.Add(currentItem.TextProperty.SearchItem);
-                    PDFViewer.HighLightSearchText(pageTextList);
+                    for (int i = 0; i < currentItem.Count; i++)
+                    {
+                        if (currentItem[i] is SearchItem)
+                        {
+                            (currentItem[i] as SearchItem).TextProperty.SearchItem.BorderBrush = new SolidColorBrush(Color.FromArgb(0xFF, 0x17, 0x70, 0xF4));
+                            (currentItem[i] as SearchItem).TextProperty.SearchItem.Padding = new Thickness(3);
+                            (currentItem[i] as SearchItem).TextProperty.SearchItem.BorderThickness = 1;
+                            pageTextList.Add((currentItem[i] as SearchItem).TextProperty.SearchItem);
+                        }
+                    }
+                    if (currentItem.Count>0)
+                    {
+                        PDFViewer.HighLightSearchText(pageTextList);
+                    }
                 }
             }
         }

+ 44 - 0
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterCSVDialogViewModel.cs

@@ -61,12 +61,56 @@ namespace PDF_Master.ViewModels.Dialog.ConverterDialogs
             }
         }
 
+        private string T_eachForm;
 
+        public string T_EachForm
+        {
+            get { return T_eachForm; }
+            set
+            {
+                SetProperty(ref T_eachForm, value);
+            }
+        }
+        private string T_aDocument;
+
+        public string T_ADocument
+        {
+            get { return T_aDocument; }
+            set
+            {
+                SetProperty(ref T_aDocument, value);
+            }
+        }
+        private string T_settings;
+
+        public string T_Settings
+        {
+            get { return T_settings; }
+            set
+            {
+                SetProperty(ref T_settings, value);
+            }
+        }
+
+        private string T_pageRange;
+
+        public string T_PageRange
+        {
+            get { return T_pageRange; }
+            set
+            {
+                SetProperty(ref T_pageRange, value);
+            }
+        }
         private void IntString()
         {
             T_Title = App.MainPageLoader.GetString("Convert_PDFToCSVTitle");
             T_YES = App.MainPageLoader.GetString("Convert_Yes");
             T_No = App.MainPageLoader.GetString("Convert_No");
+            T_EachForm = App.MainPageLoader.GetString("Convert_PDFToCSVEachForm");
+            T_ADocument = App.MainPageLoader.GetString("Convert_PDFToCSVADocment");
+            T_Settings = App.MainPageLoader.GetString("Convert_PDFToCSVSettings");
+            T_PageRange = App.MainPageLoader.GetString("Convert_PDFPageRange");
         }
 
         #endregion

+ 156 - 0
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterExcelDialogViewModel.cs

@@ -22,7 +22,162 @@ namespace PDF_Master.ViewModels.Dialog.ConverterDialogs
 {
     public class ConverterExcelDialogViewModel : BindableBase, IDialogAware
     {
+        #region 文案
 
+        private string T_title;
+
+        public string T_Title
+        {
+            get { return T_title; }
+            set
+            {
+                SetProperty(ref T_title, value);
+            }
+        }
+
+        private string T_yes;
+
+        public string T_YES
+        {
+            get { return T_yes; }
+            set
+            {
+                SetProperty(ref T_yes, value);
+            }
+        }
+
+        private string T_no;
+
+        public string T_No
+        {
+            get { return T_no; }
+            set
+            {
+                SetProperty(ref T_no, value);
+            }
+        }
+
+        private string T_onlyTables;
+
+        public string T_OnlyTables
+        {
+            get { return T_onlyTables; }
+            set
+            {
+                SetProperty(ref T_onlyTables, value);
+            }
+        }
+
+        private string T_allContents;
+
+        public string T_AllContents
+        {
+            get { return T_allContents; }
+            set
+            {
+                SetProperty(ref T_allContents, value);
+            }
+        }
+
+        private string T_eachPageAllContents;
+
+        public string T_EachPageAllContents
+        {
+            get { return T_eachPageAllContents; }
+            set
+            {
+                SetProperty(ref T_eachPageAllContents, value);
+            }
+        }
+        private string T_fileAllContents;
+
+        public string T_FileAllContents
+        {
+            get { return T_fileAllContents; }
+            set
+            {
+                SetProperty(ref T_fileAllContents, value);
+            }
+        }
+        private string T_eachTableOnlyTables;
+
+        public string T_EachTableOnlyTables
+        {
+            get { return T_eachTableOnlyTables; }
+            set
+            {
+                SetProperty(ref T_eachTableOnlyTables, value);
+            }
+        }
+        private string T_eachPageOnlyTables;
+
+        public string T_EachPageOnlyTables
+        {
+            get { return T_eachPageOnlyTables; }
+            set
+            {
+                SetProperty(ref T_eachPageOnlyTables, value);
+            }
+        }
+        private string T_fileOnlyTables;
+
+        public string T_FileOnlyTables
+        {
+            get { return T_fileOnlyTables; }
+            set
+            {
+                SetProperty(ref T_fileOnlyTables, value);
+            }
+        }
+        private string T_onlyText;
+
+        public string T_OnlyText
+        {
+            get { return T_onlyText; }
+            set
+            {
+                SetProperty(ref T_onlyText, value);
+            }
+        }
+        private string T_settings;
+
+        public string T_Settings
+        {
+            get { return T_settings; }
+            set
+            {
+                SetProperty(ref T_settings, value);
+            }
+        }
+        private string T_pageRange;
+
+        public string T_PageRange
+        {
+            get { return T_pageRange; }
+            set
+            {
+                SetProperty(ref T_pageRange, value);
+            }
+        }
+
+        private void IntString()
+        {
+            T_Title = App.MainPageLoader.GetString("Convert_PDFToExcelTitle");
+            T_YES = App.MainPageLoader.GetString("Convert_Yes");
+            T_No = App.MainPageLoader.GetString("Convert_No");
+            T_AllContents = App.MainPageLoader.GetString("Convert_PDFToExcelAllContents");
+            T_EachPageAllContents = App.MainPageLoader.GetString("Convert_PDFToExcelAllContentsEachPage");
+            T_FileAllContents = App.MainPageLoader.GetString("Convert_PDFToExcelAllContentsFile");
+            T_OnlyTables = App.MainPageLoader.GetString("Convert_PDFToExcelAllOnlyTables");
+            T_EachTableOnlyTables = App.MainPageLoader.GetString("Convert_PDFToExcelAllOnlyTablesEachTable");
+            T_EachPageOnlyTables = App.MainPageLoader.GetString("Convert_PDFToExcelAllOnlyTablesEachPage");
+            T_FileOnlyTables = App.MainPageLoader.GetString("Convert_PDFToExcelAllOnlyTablesFile");
+            T_OnlyText= App.MainPageLoader.GetString("Convert_PDFToExcelOnlyText");
+            T_Settings = App.MainPageLoader.GetString("Convert_PDFToExcelSettings");
+            T_PageRange = App.MainPageLoader.GetString("Convert_PDFPageRange");
+
+        }
+        #endregion 参数和属性
         public string Title => "";
 
         public event Action<IDialogResult> RequestClose;
@@ -145,6 +300,7 @@ namespace PDF_Master.ViewModels.Dialog.ConverterDialogs
 
         public ConverterExcelDialogViewModel(IDialogService dialogService)
         {
+            IntString();
             CancelCommand = new DelegateCommand(cancel);
             ConverterCommnad = new DelegateCommand(converter);
             RadioButtonCommand = new DelegateCommand<string>(radiobutton);

+ 10 - 0
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterHTMLDialogViewModel.cs

@@ -56,12 +56,22 @@ namespace PDF_Master.ViewModels.Dialog.ConverterDialogs
             }
         }
 
+        private string T_pageRange;
 
+        public string T_PageRange
+        {
+            get { return T_pageRange; }
+            set
+            {
+                SetProperty(ref T_pageRange, value);
+            }
+        }
         private void IntString()
         {
             T_Title = App.MainPageLoader.GetString("Convert_PDFToHTMLTitle");
             T_YES = App.MainPageLoader.GetString("Convert_Yes");
             T_No = App.MainPageLoader.GetString("Convert_No");
+            T_PageRange = App.MainPageLoader.GetString("Convert_PDFPageRange");
         }
 
         #endregion

+ 21 - 0
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterImgDialogViewModel.cs

@@ -57,12 +57,33 @@ namespace PDF_Master.ViewModels.Dialog.ConverterDialogs
             }
         }
 
+        private string T_pageRange;
 
+        public string T_PageRange
+        {
+            get { return T_pageRange; }
+            set
+            {
+                SetProperty(ref T_pageRange, value);
+            }
+        }
+        private string T_format;
+
+        public string T_Format
+        {
+            get { return T_format; }
+            set
+            {
+                SetProperty(ref T_format, value);
+            }
+        }
         private void IntString()
         {
             T_Title = App.MainPageLoader.GetString("Convert_PDFToImageTitle");
             T_YES = App.MainPageLoader.GetString("Convert_Yes");
             T_No = App.MainPageLoader.GetString("Convert_No");
+            T_PageRange = App.MainPageLoader.GetString("Convert_PDFPageRange");
+            T_Format= App.MainPageLoader.GetString("Convert_PDFToImageFormat");
         }
 
         #endregion

+ 11 - 0
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterPPTDialogViewModel.cs

@@ -13,6 +13,7 @@ using System.Collections.Generic;
 using System.Diagnostics;
 using System.IO;
 using System.Linq;
+using System.Windows.Controls;
 using System.Windows.Forms;
 using DialogResult = Prism.Services.Dialogs.DialogResult;
 
@@ -55,12 +56,22 @@ namespace PDF_Master.ViewModels.Dialog.ConverterDialogs
             }
         }
 
+        private string T_pageRange;
 
+        public string T_PageRange
+        {
+            get { return T_pageRange; }
+            set
+            {
+                SetProperty(ref T_pageRange, value);
+            }
+        }
         private void IntString()
         {
             T_Title = App.MainPageLoader.GetString("Convert_PDFToPPTTitle");
             T_YES = App.MainPageLoader.GetString("Convert_Yes");
             T_No = App.MainPageLoader.GetString("Convert_No");
+            T_PageRange = App.MainPageLoader.GetString("Convert_PDFPageRange");
         }
 
         #endregion

+ 11 - 0
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterRTFDialogViewModel.cs

@@ -13,6 +13,7 @@ using System.Collections.Generic;
 using System.Diagnostics;
 using System.IO;
 using System.Linq;
+using System.Windows.Controls;
 using System.Windows.Forms;
 using DialogResult = Prism.Services.Dialogs.DialogResult;
 
@@ -55,13 +56,23 @@ namespace PDF_Master.ViewModels.Dialog.ConverterDialogs
                 SetProperty(ref T_no, value);
             }
         }
+        private string T_pageRange;
 
+        public string T_PageRange
+        {
+            get { return T_pageRange; }
+            set
+            {
+                SetProperty(ref T_pageRange, value);
+            }
+        }
 
         private void IntString()
         {
             T_Title = App.MainPageLoader.GetString("Convert_PDFToRTFTitle");
             T_YES = App.MainPageLoader.GetString("Convert_Yes");
             T_No = App.MainPageLoader.GetString("Convert_No");
+            T_PageRange = App.MainPageLoader.GetString("Convert_PDFPageRange");
         }
 
         #endregion

+ 11 - 0
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterTextDialogViewModel.cs

@@ -13,6 +13,7 @@ using System.Collections.Generic;
 using System.Diagnostics;
 using System.IO;
 using System.Linq;
+using System.Windows.Controls;
 using System.Windows.Forms;
 using static Dropbox.Api.Sharing.ListFileMembersIndividualResult;
 using DialogResult = Prism.Services.Dialogs.DialogResult;
@@ -55,13 +56,23 @@ namespace PDF_Master.ViewModels.Dialog.ConverterDialogs
                 SetProperty(ref T_no, value);
             }
         }
+        private string T_pageRange;
 
+        public string T_PageRange
+        {
+            get { return T_pageRange; }
+            set
+            {
+                SetProperty(ref T_pageRange, value);
+            }
+        }
 
         private void IntString()
         {
             T_Title = App.MainPageLoader.GetString("Convert_PDFToTextTitle");
             T_YES = App.MainPageLoader.GetString("Convert_Yes");
             T_No = App.MainPageLoader.GetString("Convert_No");
+            T_PageRange = App.MainPageLoader.GetString("Convert_PDFPageRange");
         }
 
         #endregion

+ 11 - 0
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterWordDialogViewModel.cs

@@ -14,6 +14,7 @@ using System.Collections.Generic;
 using System.Diagnostics;
 using System.IO;
 using System.Linq;
+using System.Windows.Controls;
 using System.Windows.Forms;
 using DialogResult = Prism.Services.Dialogs.DialogResult;
 
@@ -56,12 +57,22 @@ namespace PDF_Master.ViewModels.Dialog.ConverterDialogs
             }
         }
 
+        private string T_pageRange;
 
+        public string T_PageRange
+        {
+            get { return T_pageRange; }
+            set
+            {
+                SetProperty(ref T_pageRange, value);
+            }
+        }
         private void IntString()
         {
             T_Title = App.MainPageLoader.GetString("Convert_PDFToWordTitle");
             T_YES = App.MainPageLoader.GetString("Convert_Yes");
             T_No = App.MainPageLoader.GetString("Convert_No");
+            T_PageRange = App.MainPageLoader.GetString("Convert_PDFPageRange");
         }
 
         #endregion

+ 97 - 19
PDF Office/ViewModels/FillAndSign/PropertyPanel/ShapFillPropertyViewModel.cs

@@ -23,6 +23,7 @@ using PDF_Master.Model.AnnotPanel;
 using PDFSettings;
 using PDF_Master.ViewModels.Tools.AnnotManager;
 using Prism.Common;
+using ComPDFKitViewer.PdfViewer;
 
 namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
 {
@@ -35,7 +36,26 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
         public List<List<Point>> updatapath = new List<List<Point>>();
         private Geometry dataPath = null;
         private bool IsFillAndSign = false;
-        public string Shape = "";
+        public string shape = "";
+        public string Shape
+        {
+            get { return shape; }
+            set
+            {
+                SetProperty(ref shape, value);
+            }
+        }
+
+        public string shapeType = "";
+        public string ShapeType
+        {
+            get { return shapeType; }
+            set
+            {
+                SetProperty(ref shapeType, value);
+            }
+        }
+
         public Geometry DataPath
         {
             get { return dataPath; }
@@ -61,13 +81,13 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
                     fillAndSignContentViewModel.SelectColor = value;
                     //if (FillAndSignContentViewModel.IsEdit)
                     {
-                        PropertyPanel.UpdateAnnotAAttrib(AnnotAttrib.Thickness, LineWidth * lineWidthMultiple);
+                        // PropertyPanel.UpdateAnnotAAttrib(AnnotAttrib.Thickness, LineWidth * lineWidthMultiple);
                         PropertyPanel.UpdateAnnotAAttrib(AnnotAttrib.Color, (selectColor as SolidColorBrush).Color);
                     }
                     //else
                     {
-                        if(IsFillAndSign) { fillAndSignContentViewModel.SetStamp(); }
-                        
+                        if (IsFillAndSign) { fillAndSignContentViewModel.SetStamp(); }
+
                     }
 
                 }
@@ -94,7 +114,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
                     //else
                     {
                         if (IsFillAndSign) { fillAndSignContentViewModel.SetStamp(); }
-                        
+
                     }
 
                 }
@@ -106,7 +126,9 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
         public bool IsMultiSelected
         {
             get { return _isMultiSelected; }
-            set => SetProperty(ref _isMultiSelected, value);
+            set { SetProperty(ref _isMultiSelected, value);
+            if(value) { ShapeType= "General Properties"; }
+            }
         }
 
         private bool _isSelected = false;
@@ -115,7 +137,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
             get { return _isSelected; }
             set => SetProperty(ref _isSelected, value);
         }
-        private double lineWidthMultiple=1;
+        private double lineWidthMultiple = 1;
         private double lineWidth = 1;
         public double LineWidth
         {
@@ -136,13 +158,13 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
 
                         PropertyPanel.UpdateAnnotAAttrib(AnnotAttrib.Thickness, LineWidth * lineWidthMultiple);
                         //fillAndSignContentViewModel.LineWidthMultiple = lineWidthMultiple;
-                         //PropertyPanel.UpdateAnnotAAttrib(AnnotAttrib.Path, updatapath);
+                        //PropertyPanel.UpdateAnnotAAttrib(AnnotAttrib.Path, updatapath);
 
                     }
                     // else
                     {
                         if (IsFillAndSign) { fillAndSignContentViewModel.SetStamp(); }
-                        
+
                     }
 
                 }
@@ -336,7 +358,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
 
                 case "DotShape":
                     {
-                        fillAndSignContentViewModel.LineWidthMultiple = 5;
+                        //fillAndSignContentViewModel.LineWidthMultiple = 5;
                         EllipseGeometry circlePath = new EllipseGeometry();
                         circlePath.RadiusX = 2.4;
                         circlePath.RadiusY = 2.4;
@@ -374,10 +396,37 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
             //if (isFromToolsBtn == false)
             //    PropertyPanel.AnnotTypeChangedInvoke(this, changeData);
 
+        }
+        private string UPDateShapeType(string tag)
+        {
+            switch (tag)
+            {
+                case "DotShape":
+                    return "Dot";
+                    break;
+                case "LineShape":
+                    return "Line";
+                    break;
+                case "RectShape":
+                    return "Rectangle";
+                    break;
+                case "ForkShape":
+                    return "Fork";
+                    break;
+                case "HookShape":
+                    return "Hook";
+                    break;
+                    default:
+                    return "General Properties";
+                    break;
+            }
+
+
         }
 
-        private void InitSharpsType(string tag)
+        private void InitShapesType(string tag)
         {
+            ShapeType = UPDateShapeType(tag);
             fillAndSignContentViewModel.LineWidthMultiple = 1;
             switch (tag)
             {
@@ -412,7 +461,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
 
                 case "DotShape":
                     {
-                        fillAndSignContentViewModel.LineWidthMultiple = 5;
+                        //fillAndSignContentViewModel.LineWidthMultiple = 5;
                         EllipseGeometry circlePath = new EllipseGeometry();
                         circlePath.RadiusX = 2.4;
                         circlePath.RadiusY = 2.4;
@@ -488,7 +537,34 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
             }
 
         }
-
+
+        private void BindingPDFViewerHandler()
+        {
+            //来自PDFViewer的响应事件
+            if (fillAndSignContentViewModel.PDFViewer != null)
+            {
+
+
+                fillAndSignContentViewModel.PDFViewer.AnnotActiveHandler -= PDFViewer_AnnotActiveHandler;
+                fillAndSignContentViewModel.PDFViewer.AnnotActiveHandler += PDFViewer_AnnotActiveHandler;
+            }
+        }
+        private void UnBindingPDFViewerHandler()
+        {
+            if (fillAndSignContentViewModel.PDFViewer != null)
+            {
+                fillAndSignContentViewModel.PDFViewer.AnnotActiveHandler -= PDFViewer_AnnotActiveHandler;
+            }
+        }
+        private void PDFViewer_AnnotActiveHandler(object sender, AnnotAttribEvent e)
+        {
+            if (e != null) { }
+            else
+            {
+                if (fillAndSignContentViewModel.PDFViewer.MouseMode == MouseModes.AnnotCreate) { IsSelected = true; }
+            }
+
+        }
         public bool IsNavigationTarget(NavigationContext navigationContext)
         {
             return true;
@@ -496,7 +572,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
 
         public void OnNavigatedFrom(NavigationContext navigationContext)
         {
-
+            UnBindingPDFViewerHandler();
         }
 
         public void OnNavigatedTo(NavigationContext navigationContext)
@@ -508,7 +584,8 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
             bool isFillAndSign = false;
             navigationContext.Parameters.TryGetValue<bool>("IsFillAndSign", out isFillAndSign);
             IsFillAndSign = isFillAndSign;
-            InitSharpsType(shape);
+            InitShapesType(shape);
+
             //FillAndSignContentViewModel.IsEdit = false;
             if (PropertyPanel != null)
             {
@@ -537,7 +614,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
                 {
                     GetAnnotProperty(shape);
                 }
-
+                BindingPDFViewerHandler();
             }
         }
 
@@ -555,11 +632,12 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
                         if (annot.PageIndex == point.PageIndex && annot.AnnotIndex == point.AnnotIndex)
                         {
                             lineWidthMultiple = 1;
-                            if (point.Shape == "DotShape") {
+                            if (point.Shape == "DotShape")
+                            {
                                 lineWidthMultiple = 5;
                             }
-                            InitSharpsType(point.Shape);
-                            Shape=point.Shape;
+                            InitShapesType(point.Shape);
+                            Shape = point.Shape;
                         }
                     }
                 }

+ 77 - 53
PDF Office/ViewModels/PropertyPanel/AnnotPanel/LinkAnnotPropertyViewModel.cs

@@ -37,6 +37,8 @@ using ImTools;
 using PDF_Master.ViewModels.Tools.AnnotManager;
 using PDF_Master.EventAggregators;
 using DryIoc;
+using static Dropbox.Api.TeamLog.PaperDownloadFormat;
+using ComPDFKit.Import;
 
 namespace PDF_Master.ViewModels.PropertyPanel.AnnotPanel
 {
@@ -819,11 +821,12 @@ namespace PDF_Master.ViewModels.PropertyPanel.AnnotPanel
 
                         pdfViewer.GoToPage(historyPageIndex);
 
-                        if (string.IsNullOrEmpty(PageNumTextContent))
-                        {
-                            pdfViewer.SelectAnnotation(historyPageIndex, LinkAnnotArgs.AnnotIndex);
-                        }
-                        Rect rect = LinkAnnotArgs.GetLinkPaintArea();
+                        BackToPage(historyPageIndex, areaInfo.PageIndex);
+
+                        //if (string.IsNullOrEmpty(PageNumTextContent))
+                        //{
+                        pdfViewer.SelectAnnotation(historyPageIndex, LinkAnnotArgs.AnnotIndex);
+                        //}
 
                         BtnLocationIsChecked = false;
 
@@ -945,10 +948,14 @@ namespace PDF_Master.ViewModels.PropertyPanel.AnnotPanel
         {
             int pageIndex = Convert.ToInt32(PageNumTextContent) - 1;
 
-            //目前只适用于 非定位的链接
-
-            //注释位置
-            Rect rect = LinkAnnotArgs.GetLinkPaintArea();
+            ////注释位置
+            //Rect rect = LinkAnnotArgs.GetLinkPaintArea();
+            ////定位
+            //Rect paintrect = LinkAnnotArgs.GetLinkCreateArea();
+            //double height = 0;
+            //CPDFDocument doc = pdfViewer.Document;
+            //CPDFPage docPage;
+            //double zoom = pdfViewer.ZoomFactor;
 
             if (btnGOorBack.Tag.ToString() == "GO")
             {
@@ -958,7 +965,8 @@ namespace PDF_Master.ViewModels.PropertyPanel.AnnotPanel
                 //AnnotAttribEvent?.UpdateAttrib(AnnotAttrib.LinkDestIndx, pageIndex);
                 //AnnotAttribEvent?.UpdateAnnot();
 
-                historyPageIndex = LinkAnnotArgs != null ? LinkAnnotArgs.PageIndex : backPageIndex;
+                //historyPageIndex = LinkAnnotArgs != null ? LinkAnnotArgs.PageIndex : backPageIndex;
+                GoToPage(pageIndex);
 
                 ChangeBtnGOorBack("BACK", btnGOorBack);
             }
@@ -969,54 +977,70 @@ namespace PDF_Master.ViewModels.PropertyPanel.AnnotPanel
                     SelectAnnotation();
                     pdfViewer.GoToPage(historyPageIndex);
 
-                    double vertical = pdfViewer.GetVerticalOffset();
-                    double height = 0;
-                    CPDFDocument doc = pdfViewer.Document;
-                    CPDFPage docPage = doc.PageAtIndex(historyPageIndex, false);
+                    BackToPage(historyPageIndex, pageIndex);
+
+                    ChangeBtnGOorBack("GO", btnGOorBack);
+                    pdfViewer.SelectAnnotation(historyPageIndex, LinkAnnotArgs.AnnotIndex);
+                }
+            }
+        }
 
-                    if (!rect.IsEmpty)
+        private void BackToPage(int historyPageIndex, int pageIndex)
+        {
+            //注释位置
+            Rect rect = LinkAnnotArgs.GetLinkPaintArea();
+            //定位
+            Rect paintrect = LinkAnnotArgs.GetLinkCreateArea();
+            double height = 0;
+            CPDFDocument doc = pdfViewer.Document;
+            CPDFPage docPage;
+            double zoom = pdfViewer.ZoomFactor;
+            docPage = doc.PageAtIndex(historyPageIndex, false);
+            if (!rect.IsEmpty)
+            {
+                double vertical = pdfViewer.GetVerticalOffset();
+                if (docPage.PageSize.Height / 2 < rect.Top)
+                {
+                    if (historyPageIndex < pageIndex)
                     {
-                        //double y = docPage.PageSize.Height - rect.Top;
-                        double zoom = pdfViewer.ZoomFactor;
-                        //double y1 = (rect.Y / 2) * zoom;
-                        if (docPage.PageSize.Height / 2 < rect.Top)
-                        {
-                            if (historyPageIndex < pageIndex)
-                            {
-                                height = vertical + (rect.Bottom * zoom);
-                                pdfViewer.ScrollToVerticalOffset(height);
-                            }
-                            else
-                            {
-                                height = vertical + (rect.Top * zoom);
-                                pdfViewer.ScrollToVerticalOffset(height);
-                            }
-                        }
+                        height = vertical + (rect.Bottom * zoom);
+                        pdfViewer.ScrollToVerticalOffset(height);
+                    }
+                    else
+                    {
+                        height = vertical + (rect.Top * zoom);
+                        pdfViewer.ScrollToVerticalOffset(height);
                     }
+                }
+            }
+        }
 
-                    //if (historyPageIndex < pageIndex)
-                    //{
-                    //    if (docPage.PageSize.Height / 2 < rect.Top)
-                    //    {
-                    //        //double y1 = (rect.Y / 2) * zoom;
-                    //        //height = vertical + y1 + y * zoom;
-                    //        height = vertical + (rect.Bottom * zoom);
-                    //        pdfViewer.ScrollToVerticalOffset(height);
-                    //    }
-                    //}
-                    //else
-                    //{
-                    //    if (docPage.PageSize.Height / 2 < rect.Top)
-                    //    {
-                    //        //height = vertical + (rect.Y / 2) - y * zoom;
-                    //        height = vertical + (rect.Top * zoom);
-                    //        pdfViewer.ScrollToVerticalOffset(height);
-                    //    }
-                    //}
-
-                    //pdfViewer.SelectAnnotation(historyPageIndex, LinkAnnotArgs.AnnotIndex);
-                    ChangeBtnGOorBack("GO", btnGOorBack);
+        private void GoToPage(int pageIndex)
+        {
+            //定位
+            paintrect = LinkAnnotArgs.GetLinkCreateArea();
+            double height = 0;
+            CPDFDocument doc = pdfViewer.Document;
+            CPDFPage docPage;
+            double zoom = pdfViewer.ZoomFactor;
+            docPage = doc.PageAtIndex(pageIndex, false);
+            if (!paintrect.IsEmpty)
+            {
+                double vertical = pdfViewer.GetVerticalOffset();
+                if (docPage.PageSize.Height / 2 < paintrect.Top)
+                {
+                    if (historyPageIndex < pageIndex)
+                    {
+                        height = vertical + (paintrect.Top * zoom);
+                        pdfViewer.ScrollToVerticalOffset(height);
+                    }
+                    else
+                    {
+                        height = vertical + (paintrect.Top * zoom);
+                        pdfViewer.ScrollToVerticalOffset(height);
+                    }
                 }
+                //height = vertical + (paintrect.Bottom * zoom);
             }
         }
 

File diff suppressed because it is too large
+ 922 - 907
PDF Office/ViewModels/Tools/AnnotToolContentViewModel.Command.cs


+ 1 - 1
PDF Office/ViewModels/Tools/AnnotToolContentViewModel.Function.cs

@@ -1159,7 +1159,7 @@ namespace PDF_Master.ViewModels.Tools
             if (stampAnnotArgs != null)
                 stampAnnotArgsList.Add(stampAnnotArgs);
 
-            if (string.IsNullOrEmpty(StrAnnotToolChecked))
+            if (string.IsNullOrEmpty(StrAnnotToolChecked) || StrAnnotToolChecked != "Stamp")
             {
                 viewContentViewModel.SelectedPrpoertyPanel("PropertyPanelContent", null);
                 return stampAnnotArgs;

+ 46 - 0
PDF Office/ViewModels/Tools/ToolsBarContentViewModel.cs

@@ -51,11 +51,57 @@ namespace PDF_Master.ViewModels.Tools
             }
         }
 
+        private string T_compress;
 
+        public string T_Compress
+        {
+            get { return T_compress; }
+            set
+            {
+                SetProperty(ref T_compress, value);
+            }
+        }
+
+        private string T_security;
+
+        public string T_Security
+        {
+            get { return T_security; }
+            set
+            {
+                SetProperty(ref T_security, value);
+            }
+        }
+
+        private string T_merge;
+
+        public string T_Merge
+        {
+            get { return T_merge; }
+            set
+            {
+                SetProperty(ref T_merge, value);
+            }
+        }
+
+        private string T_crop;
+
+        public string T_Crop
+        {
+            get { return T_crop; }
+            set
+            {
+                SetProperty(ref T_crop, value);
+            }
+        }
         private void InitString()
         {
             T_SetPassWord = App.MainPageLoader.GetString("Security_SetPassword");
             T_RemovePassword = App.MainPageLoader.GetString("Security_RemovePassword");
+            T_Compress= App.MainPageLoader.GetString("ToolsBar_Compress");
+            T_Security = App.MainPageLoader.GetString("ToolsBar_Security");
+            T_Merge = App.MainPageLoader.GetString("ToolsBar_Merge");
+            T_Crop = App.MainPageLoader.GetString("ToolsBar_Crop");
         }
 
         #endregion

+ 4 - 0
PDF Office/ViewModels/ViewContentViewModel.cs

@@ -1905,6 +1905,10 @@ namespace PDF_Master.ViewModels
             {
                 IsPropertyOpen = false;
             }
+            else
+            {
+                IsPropertyOpen = true;
+            }
             NavigationParameters parameters = new NavigationParameters();
             //传其他参数:文档类,空注释面板;
             parameters.Add(ParameterNames.PDFViewer, PDFViewer);

+ 3 - 0
PDF Office/Views/BOTA/OutLineControl.xaml

@@ -10,6 +10,8 @@
     xmlns:model="clr-namespace:PDF_Master.Model.BOTA"
     xmlns:mainPageLoader="clr-namespace:PDF_Master.Strings.MainPage"
     d:DataContext="{d:DesignInstance Type=bota:OutLineControlViewModel}"
+    LostFocus="UserControl_LostFocus"
+    KeyDown="UserControl_KeyDown"
     mc:Ignorable="d">
     <UserControl.Resources>
         <ResourceDictionary>
@@ -271,6 +273,7 @@
                                     x:Name="ReName"
                                     HorizontalAlignment="Left"
                                     VerticalAlignment="Center"
+                                    TextWrapping="WrapWithOverflow"
                                     IsVisibleChanged="ReName_IsVisibleChanged"
                                     KeyDown="ReName_KeyDown"
                                     Style="{StaticResource TextBoxStyleRadius}" />

+ 73 - 4
PDF Office/Views/BOTA/OutLineControl.xaml.cs

@@ -53,6 +53,24 @@ namespace PDF_Master.Views.BOTA
 
         public bool IsReName = false;
 
+        /// <summary>
+        /// 判断是否拖拽到了新窗口
+        /// </summary>
+        /// <returns></returns>
+        private bool IsInNowWindow()
+        {
+            if (App.DropStartWindow != null)
+            {
+                Window frm = Window.GetWindow(OutlineView);
+                if (frm != App.DropStartWindow)
+                {
+                    return true;
+                }
+                return false;
+            }
+            return false;
+        }
+
         public OutLineControl()
         {
 
@@ -68,6 +86,10 @@ namespace PDF_Master.Views.BOTA
 
         private void OutlineView_PreviewMouseMove(object sender, MouseEventArgs e)
         {
+            if (IsInNowWindow())
+            {
+                return;
+            }
             if (e.LeftButton == MouseButtonState.Pressed && !IsReName)
             {
                 var pos = e.GetPosition(OutlineView);
@@ -96,7 +118,14 @@ namespace PDF_Master.Views.BOTA
         /// <param name="e"></param>
         private void Grid_DragOver(object sender, DragEventArgs e)
         {
-            (DataContext as OutLineControlViewModel).IsOnDrop = true;
+            if (IsInNowWindow())
+            {
+                e.Effects = DragDropEffects.None;
+                e.Handled = true;
+                return;
+            }
+
+              (DataContext as OutLineControlViewModel).IsOnDrop = true;
             TreeViewItem sourceitem = e.Data.GetData(typeof(TreeViewItem)) as TreeViewItem;
             if (sourceitem == null)
             {
@@ -189,6 +218,7 @@ namespace PDF_Master.Views.BOTA
 
         private void OutlineView_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
         {
+
             (DataContext as OutLineControlViewModel).IsInsertHead = false;
             if (Treeviewitem != null)
             {
@@ -200,6 +230,12 @@ namespace PDF_Master.Views.BOTA
 
         private void OutlineView_Drop(object sender, DragEventArgs e)
         {
+            if (IsInNowWindow())
+            {
+                e.Effects = DragDropEffects.None;
+                e.Handled = true;
+                return;
+            }
             onDrop = false;
             TreeViewItem souredata = e.Data.GetData(typeof(TreeViewItem)) as TreeViewItem;
             if (souredata == null)
@@ -330,6 +366,14 @@ namespace PDF_Master.Views.BOTA
 
         private void TreeViewItem_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
         {
+            //每次鼠标按下,更新开始拖拽的窗口对象
+            MainWindow frm = Window.GetWindow(this) as MainWindow;
+
+            if (frm != null)
+            {
+                App.DropStartWindow = frm;
+            }
+
             if (e.ClickCount == 1)
             {
                 TreeViewItem content = sender as TreeViewItem;
@@ -449,9 +493,12 @@ namespace PDF_Master.Views.BOTA
             int ItemIndex = (DataContext as OutLineControlViewModel).InsertChlidOutline((sender as MenuItem).DataContext as OutlineNode);
             OutlineView.UpdateLayout();
             OutlineNode node = (DataContext as OutLineControlViewModel).FindOutlineFromList((DataContext as OutLineControlViewModel).Outlinelist, (OutlineView.SelectedItem as OutlineNode).Chlidlist[ItemIndex], ItemIndex);
-            node.IsSelected = true;
-            ReNameOutlineNode = node;
-            node.IsReName = Visibility.Collapsed;
+            if (node != null)
+            {
+                node.IsSelected = true;
+                ReNameOutlineNode = node;
+                node.IsReName = Visibility.Collapsed;
+            }
         }
 
         private void OutlineView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
@@ -466,5 +513,27 @@ namespace PDF_Master.Views.BOTA
                 OutlineView.Focus();
             }
         }
+
+        private void UserControl_LostFocus(object sender, RoutedEventArgs e)
+        {
+            OutlineNode outlineNode = OutlineView.SelectedItem as OutlineNode;
+            if (outlineNode != null)
+            {
+                outlineNode.IsSelected = false;
+            }
+        }
+
+        private void UserControl_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (e.Key == Key.Escape)
+            {
+                OutlineNode outlineNode = OutlineView.SelectedItem as OutlineNode;
+                if (outlineNode != null)
+                {
+                    outlineNode.IsSelected = false;
+                    e.Handled = true;
+                }
+            }
+        }
     }
 }

+ 1 - 1
PDF Office/Views/BOTA/SearchContent.xaml

@@ -496,7 +496,7 @@
 
                 <i:Interaction.Triggers>
                     <i:EventTrigger EventName="SelectionChanged">
-                        <i:InvokeCommandAction Command="{Binding SearchChangedCommand}" CommandParameter="{Binding ElementName=SearchResultList, Path=SelectedItem}" />
+                        <i:InvokeCommandAction Command="{Binding SearchChangedCommand}" CommandParameter="{Binding ElementName=SearchResultList, Path=SelectedItems}" />
                     </i:EventTrigger>
                 </i:Interaction.Triggers>
             </ListView>

+ 4 - 4
PDF Office/Views/Dialog/ConverterDialogs/ConverterCSVDialog.xaml

@@ -34,7 +34,7 @@
                                 Height="20"
                                 Style="{StaticResource PropertyHeaderLv2}"
                                 HorizontalAlignment="Left"
-                                Text="CSV Settings" />
+                                Text="{Binding T_Settings}" />
                         <StackPanel Margin="0,10,0,0">
                             <RadioButton
                                 IsChecked="True"
@@ -43,7 +43,7 @@
                                 Style="{StaticResource RadioButtonStyleText}"
                                 Command="{Binding RadioButtonCommand}"
                                 CommandParameter="{Binding ElementName=ForEachPageRadioBtn, Path=Name}">
-                                <TextBlock Text="Create worksheets for each &#13; form" />
+                                <TextBlock Text="{Binding T_EachForm}" />
                             </RadioButton>
                             <RadioButton
                                 
@@ -52,7 +52,7 @@
                                 Style="{StaticResource RadioButtonStyleText}"
                                 Command="{Binding RadioButtonCommand}"
                                 CommandParameter="{Binding ElementName=OnlyTableRadioBtn, Path=Name}">
-                                <TextBlock Text="Create a single worksheet for &#13; a document" />
+                                <TextBlock Text="{Binding T_ADocument}" />
                             </RadioButton>
                         </StackPanel>
                         <StackPanel Margin="0,18,0,0" Orientation="Vertical">
@@ -60,7 +60,7 @@
                                 Height="20"
                                 HorizontalAlignment="Left"
                                 Style="{StaticResource PropertyHeaderLv2}"
-                                Text="Page Range" />
+                                Text="{Binding T_PageRange}" />
                             <cus:WritableComboBox
                                 x:Name="PageRangeComboBox"
                                 Width="228"

+ 1 - 1
PDF Office/Views/Dialog/ConverterDialogs/ConverterCSVDialog.xaml.cs

@@ -38,7 +38,7 @@ namespace PDF_Master.Views.Dialog.ConverterDialogs
             if (PageRangeComboBox.CurrentPage)
             {
                 ComboBoxItem comboBoxItem = new ComboBoxItem();
-                comboBoxItem.Content = "当前页面";
+                comboBoxItem.Content = App.MainPageLoader.GetString("WritableComboBox_CustomRange"); 
                 PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
                 
             }

+ 13 - 13
PDF Office/Views/Dialog/ConverterDialogs/ConverterExcelDialog.xaml

@@ -16,7 +16,7 @@
              prism:Dialog.WindowStyle="{StaticResource DialogWindowStyle}"
              prism:ViewModelLocator.AutoWireViewModel="True"
              mc:Ignorable="d">
-    <cus:DialogContent Header="PDF转Excel">
+    <cus:DialogContent Header="{Binding T_Title}">
         <cus:DialogContent.Content>
             <Grid Grid.Row="1">
                 <Grid.ColumnDefinitions>
@@ -29,28 +29,28 @@
                 <Grid Grid.Column="1">
                     <StackPanel Orientation="Vertical" Margin="16,2,0,0">
                         <StackPanel Orientation="Vertical">
-                            <TextBlock Text="ExcelExcel Workbook Settings" Height="20"  Style="{StaticResource PropertyHeaderLv2}"/>
+                            <TextBlock Text="{Binding T_Settings}" Height="20"  Style="{StaticResource PropertyHeaderLv2}"/>
                             <StackPanel Orientation="Vertical" Margin="0,10,0,0">
                                 <RadioButton Name="AnyContentRadioBtn" Command="{Binding RadioButtonCommand}" CommandParameter="{Binding ElementName=AnyContentRadioBtn,Path=Name}" IsChecked="True"
                                 Style="{StaticResource RadioButtonStyleText}">
-                                    <TextBlock Text="All contents"/>
+                                    <TextBlock Text="{Binding T_AllContents}"/>
                                 </RadioButton>
                                 <ComboBox Margin="0,8,0,0" Width="326" Height="32" HorizontalAlignment="Left" IsEnabled="{Binding ElementName=AnyContentRadioBtn,Path=IsChecked}"  SelectedIndex="{Binding AnyContentSelectIndex}" >
-                                    <ComboBoxItem Content="为每个页面创建工作表 "/>
-                                    <ComboBoxItem Content="为文档创建单个工作表"/>
+                                    <ComboBoxItem Content="{Binding T_EachPageAllContents}"/>
+                                    <ComboBoxItem Content="{Binding T_FileAllContents}"/>
                                 </ComboBox>
                                 <RadioButton Margin="0,8,0,0" Name="OnlyTableRadioBtn" Command="{Binding RadioButtonCommand}" CommandParameter="{Binding ElementName=OnlyTableRadioBtn,Path=Name}" Padding="8,0,0,0"
                                 Style="{StaticResource RadioButtonStyleText}">
-                                    <TextBlock Text="Only Tables"/>
+                                    <TextBlock Text="{Binding T_OnlyTables}"/>
                                 </RadioButton>
                                 <ComboBox Name="OnlyTableComboBox"  Margin="0,8,0,0" Width="326" Height="32" HorizontalAlignment="Left" IsEnabled="{Binding ElementName=OnlyTableRadioBtn,Path=IsChecked}"  SelectedIndex="{Binding OnlyTableSelectIndex}">
-                                    <ComboBoxItem Content="支持一个表格提取到单独的工作表"/>
-                                    <ComboBoxItem Content="支持按页面提取表格到单独的工作表"/>
-                                    <ComboBoxItem Content="支持将所有表格提取到一个工作表"/>
+                                    <ComboBoxItem Content="{Binding T_EachTableOnlyTables}"/>
+                                    <ComboBoxItem Content="{Binding T_EachPageOnlyTables}"/>
+                                    <ComboBoxItem Content="{Binding T_FileOnlyTables}"/>
                                 </ComboBox>
                                 <RadioButton Margin="0,8,0,0" Name="OnlyTextRadioBtn" Command="{Binding RadioButtonCommand}" CommandParameter="{Binding ElementName=OnlyTextRadioBtn,Path=Name}" Padding="8,0,0,0"
                                 Style="{StaticResource RadioButtonStyleText}">
-                                    <TextBlock Text="Only Text"></TextBlock>
+                                    <TextBlock Text="{Binding T_OnlyText}"></TextBlock>
                                 </RadioButton>
                             </StackPanel>
                         </StackPanel>
@@ -69,7 +69,7 @@
                                 </ComboBox>
                             </StackPanel>
                             <StackPanel Orientation="Vertical" Margin="0,18,0,0">
-                                <TextBlock Text="Page Range" Height="20"  HorizontalAlignment="Left"  Style="{StaticResource PropertyHeaderLv2}"/>
+                                <TextBlock Text="{Binding T_PageRange}" Height="20"  HorizontalAlignment="Left"  Style="{StaticResource PropertyHeaderLv2}"/>
                                 <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,10,0,0" Width="326" Height="32" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}"  SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" MaxPageRange="{Binding MaxPageRange}" Loaded="PageRangeComboBox_Loaded">
                                     <i:Interaction.Triggers>
                                         <i:EventTrigger EventName="SelectionChanged">
@@ -101,14 +101,14 @@
                     Height="32"
                     Margin="0,0,16,0"
                     HorizontalAlignment="Right"
-                    Content="取消" 
+                    Content="{Binding T_No}" 
                     Command="{Binding CancelCommand}" Style="{StaticResource btn.sec}"/>
                 <Button
                     Width="98"
                     Height="32"
                     Margin="124,0"
                     HorizontalAlignment="Right"
-                    Content="转换" 
+                    Content="{Binding T_YES}" 
                     Command = "{Binding ConverterCommnad}" Style="{StaticResource Btn.cta}"/>
             </Grid>
         </cus:DialogContent.BottmBar>

+ 1 - 1
PDF Office/Views/Dialog/ConverterDialogs/ConverterExcelDialog.xaml.cs

@@ -38,7 +38,7 @@ namespace PDF_Master.Views.Dialog.ConverterDialogs
             if (PageRangeComboBox.CurrentPage)
             {
                 ComboBoxItem comboBoxItem = new ComboBoxItem();
-                comboBoxItem.Content = "当前页面";
+                comboBoxItem.Content = App.MainPageLoader.GetString("WritableComboBox_CustomRange");
                 PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
             }
         }

+ 1 - 1
PDF Office/Views/Dialog/ConverterDialogs/ConverterHTMLDialog.xaml

@@ -42,7 +42,7 @@
                             </ComboBox>
                         </StackPanel>
                         <StackPanel Orientation="Vertical" Margin="0,0,0,0" >
-                            <TextBlock Text="Page Range" Height="20"  Style="{StaticResource PropertyHeaderLv2}" HorizontalAlignment="Left"/>
+                            <TextBlock Text="{Binding T_PageRange}" Height="20"  Style="{StaticResource PropertyHeaderLv2}" HorizontalAlignment="Left"/>
                             <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,10,0,0" Width="228" Height="32" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}" MaxPageRange="{Binding MaxPageRange}" SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" Loaded="PageRangeComboBox_Loaded">
                                 <i:Interaction.Triggers>
                                     <i:EventTrigger EventName="SelectionChanged">

+ 1 - 1
PDF Office/Views/Dialog/ConverterDialogs/ConverterHTMLDialog.xaml.cs

@@ -38,7 +38,7 @@ namespace PDF_Master.Views.Dialog.ConverterDialogs
             if (PageRangeComboBox.CurrentPage)
             {
                 ComboBoxItem comboBoxItem = new ComboBoxItem();
-                comboBoxItem.Content = "当前页面";
+                comboBoxItem.Content = App.MainPageLoader.GetString("WritableComboBox_CustomRange");
                 PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
 
             }

+ 2 - 2
PDF Office/Views/Dialog/ConverterDialogs/ConverterImgDialog.xaml

@@ -35,7 +35,7 @@
                                 Style="{StaticResource PropertyHeaderLv2}"
                                 Height="20"
                                 HorizontalAlignment="Left"
-                                Text="File Type" />
+                                Text="{Binding T_Format}" />
                             <ComboBox
                                 Name="ImageTypeComboBox"
                                 Width="228"
@@ -60,7 +60,7 @@
                                 Style="{StaticResource PropertyHeaderLv2}"
                                 Height="20"
                                 HorizontalAlignment="Left"
-                                Text="Page Range" />
+                                Text="{Binding T_PageRange}" />
                             <cus:WritableComboBox
                                 x:Name="PageRangeComboBox"
                                 Width="228"

+ 1 - 1
PDF Office/Views/Dialog/ConverterDialogs/ConverterImgDialog.xaml.cs

@@ -39,7 +39,7 @@ namespace PDF_Master.Views.Dialog.ConverterDialogs
             if (PageRangeComboBox.CurrentPage)
             {
                 ComboBoxItem comboBoxItem = new ComboBoxItem();
-                comboBoxItem.Content = "当前页面";
+                comboBoxItem.Content = App.MainPageLoader.GetString("WritableComboBox_CustomRange");
                 PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
 
             }

+ 1 - 1
PDF Office/Views/Dialog/ConverterDialogs/ConverterPPTDialog.xaml

@@ -42,7 +42,7 @@
                             </ComboBox>
                         </StackPanel>
                         <StackPanel Orientation="Vertical" Margin="0,0,0,0">
-                            <TextBlock Text="Page Range" Height="20"  Style="{StaticResource PropertyHeaderLv2}" HorizontalAlignment="Left"/>
+                            <TextBlock Text="{Binding T_PageRange}" Height="20"  Style="{StaticResource PropertyHeaderLv2}" HorizontalAlignment="Left"/>
                             <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,10,0,0" Width="228" Height="32" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}"  SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" MaxPageRange="{Binding MaxPageRange}" Loaded="PageRangeComboBox_Loaded">
                                 <i:Interaction.Triggers>
                                     <i:EventTrigger EventName="SelectionChanged">

+ 1 - 1
PDF Office/Views/Dialog/ConverterDialogs/ConverterPPTDialog.xaml.cs

@@ -38,7 +38,7 @@ namespace PDF_Master.Views.Dialog.ConverterDialogs
             if (PageRangeComboBox.CurrentPage)
             {
                 ComboBoxItem comboBoxItem = new ComboBoxItem();
-                comboBoxItem.Content = "当前页面";
+                comboBoxItem.Content = App.MainPageLoader.GetString("WritableComboBox_CustomRange");
                 PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
 
             }

+ 1 - 1
PDF Office/Views/Dialog/ConverterDialogs/ConverterRTFDialog.xaml

@@ -42,7 +42,7 @@
                             </ComboBox>
                         </StackPanel>
                         <StackPanel Orientation="Vertical" Margin="0,0,0,0">
-                            <TextBlock Text="Page Range" Height="20"  Style="{StaticResource PropertyHeaderLv2}" HorizontalAlignment="Left"/>
+                            <TextBlock Text="{Binding T_PageRange}" Height="20"  Style="{StaticResource PropertyHeaderLv2}" HorizontalAlignment="Left"/>
                             <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,10,0,0" Width="228" Height="32" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}"  SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" MaxPageRange="{Binding MaxPageRange}" Loaded="PageRangeComboBox_Loaded">
                                 <i:Interaction.Triggers>
                                     <i:EventTrigger EventName="SelectionChanged">

+ 1 - 1
PDF Office/Views/Dialog/ConverterDialogs/ConverterRTFDialog.xaml.cs

@@ -39,7 +39,7 @@ namespace PDF_Master.Views.Dialog.ConverterDialogs
             if (PageRangeComboBox.CurrentPage)
             {
                 ComboBoxItem comboBoxItem = new ComboBoxItem();
-                comboBoxItem.Content = "当前页面";
+                comboBoxItem.Content = App.MainPageLoader.GetString("WritableComboBox_CustomRange");
                 PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
 
             }

+ 1 - 1
PDF Office/Views/Dialog/ConverterDialogs/ConverterTextDialog.xaml

@@ -42,7 +42,7 @@
                             </ComboBox>
                         </StackPanel>
                         <StackPanel Orientation="Vertical" Margin="0,0,0,0">
-                            <TextBlock Text="Page Range" Height="20"  Style="{StaticResource PropertyHeaderLv2}" HorizontalAlignment="Left"/>
+                            <TextBlock Text="{Binding T_PageRange}" Height="20"  Style="{StaticResource PropertyHeaderLv2}" HorizontalAlignment="Left"/>
                             <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,10,0,0" Width="228" Height="32" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}"  SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" MaxPageRange="{Binding MaxPageRange}" Loaded="PageRangeComboBox_Loaded">
                                 <i:Interaction.Triggers>
                                     <i:EventTrigger EventName="SelectionChanged">

+ 1 - 1
PDF Office/Views/Dialog/ConverterDialogs/ConverterTextDialog.xaml.cs

@@ -38,7 +38,7 @@ namespace PDF_Master.Views.Dialog.ConverterDialogs
             if (PageRangeComboBox.CurrentPage)
             {
                 ComboBoxItem comboBoxItem = new ComboBoxItem();
-                comboBoxItem.Content = "当前页面";
+                comboBoxItem.Content = App.MainPageLoader.GetString("WritableComboBox_CustomRange");
                 PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
 
             }

+ 3 - 3
PDF Office/Views/Dialog/ConverterDialogs/ConverterWordDialog.xaml

@@ -28,7 +28,7 @@
                 </Grid>
                 <Grid Grid.Column="1">
                     <StackPanel Orientation="Vertical" Margin="16,2,0,0">
-                        <StackPanel Orientation="Vertical" HorizontalAlignment="Left">
+                        <StackPanel Orientation="Vertical" HorizontalAlignment="Left" Visibility="Collapsed">
                             <TextBlock Text="Layout Settings"  Style="{StaticResource PropertyHeaderLv2}" Height="20" HorizontalAlignment="Left"/>
                             <StackPanel Orientation="Vertical" Margin="0,8,0,0">
                                 <RadioButton Name="FlowingTextRadioBtn" Command="{Binding RadioButtonCommand}" CommandParameter="{Binding ElementName=FlowingTextRadioBtn,Path=Name}" IsEnabled="False"  Style="{StaticResource RadioButtonStyleText}" Visibility="Collapsed"
@@ -55,8 +55,8 @@
                                     <ComboBoxItem Content="Korean"/>
                                 </ComboBox>
                             </StackPanel>
-                            <StackPanel Orientation="Vertical" Margin="0,16,0,0">
-                                <TextBlock Text="Page Range" Height="20"  Style="{StaticResource PropertyHeaderLv2}" HorizontalAlignment="Left"/>
+                            <StackPanel Orientation="Vertical" Margin="0,0,0,0">
+                                <TextBlock Text="{Binding T_PageRange}" Height="20"  Style="{StaticResource PropertyHeaderLv2}" HorizontalAlignment="Left"/>
                                 <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,8,0,0" Width="228" Height="32" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}" MaxPageRange="{Binding MaxPageRange}"  SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" Loaded="PageRangeComboBox_Loaded">
                                     <i:Interaction.Triggers>
                                         <i:EventTrigger EventName="SelectionChanged">

+ 1 - 1
PDF Office/Views/Dialog/ConverterDialogs/ConverterWordDialog.xaml.cs

@@ -38,7 +38,7 @@ namespace PDF_Master.Views.Dialog.ConverterDialogs
             if (PageRangeComboBox.CurrentPage)
             {
                 ComboBoxItem comboBoxItem = new ComboBoxItem();
-                comboBoxItem.Content = "当前页面";
+                comboBoxItem.Content = App.MainPageLoader.GetString("WritableComboBox_CustomRange");
                 PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
 
             }

+ 1 - 1
PDF Office/Views/FillAndSign/PropertyPanel/ShapFillProperty.xaml

@@ -39,7 +39,7 @@
                 FontSize="18"
                 FontWeight="Bold"
                 LineHeight="24"
-                Text="{Binding AnnotTypeTitle}" />
+                Text="{Binding ShapeType}"/>
             <Border
                 x:Name="shapeBarder"
                 Width="228"

+ 4 - 4
PDF Office/Views/Tools/ToolsBarContent.xaml

@@ -30,7 +30,7 @@
                                     <Path Data="M8 2H6V4H8V6H6V8H8V10H6V12V15C6 15.5523 6.44772 16 7 16H9C9.55228 16 10 15.5523 10 15V12H8V10H10V8H8V6H10V4H8V2Z" Fill="#94989C" />
                                 </Grid>
                             </StackPanel>
-                            <TextBlock VerticalAlignment="Center" Text="压缩" />
+                            <TextBlock VerticalAlignment="Center" Text="{Binding T_Compress}" />
                         </StackPanel>
                     </Button>
                     <Button Command="{Binding MergeCommand}" Style="{StaticResource InsideBarBtnStyle}">
@@ -41,7 +41,7 @@
                                     <Path Data="M5.29295 7.87868L6.41427 9L3 9V11L6.41427 11L5.29295 12.1213L6.70716 13.5355L9.53559 10.7071L10 10.2427L10.4644 10.7071L13.2928 13.5355L14.707 12.1213L13.5857 11L17 11V9L13.5857 9L14.707 7.87868L13.2928 6.46446L10.4644 9.29289L10 9.7573L9.53559 9.29289L6.70716 6.46446L5.29295 7.87868Z" Fill="#94989C" />
                                 </Grid>
                             </StackPanel>
-                            <TextBlock VerticalAlignment="Center" Text="合并" />
+                            <TextBlock VerticalAlignment="Center" Text="{Binding T_Merge}" />
                         </StackPanel>
                     </Button>
 
@@ -61,7 +61,7 @@
                                     <Path Data="M9 10V13H11V10H14V8H11V5H9V8H6V10H9Z" Fill="#94989C" />
                                 </Grid>
                             </StackPanel>
-                            <TextBlock VerticalAlignment="Center" Text="安全" />
+                            <TextBlock VerticalAlignment="Center" Text="{Binding T_Security}" />
                             <Path
                                 Width="12"
                                 Height="12"
@@ -232,7 +232,7 @@
                         Visibility="Visible">
                         <StackPanel Margin="4,0,4,0" Orientation="Horizontal">
                             <Path Data="M13 16L5 16C4.44771 16 4 15.5523 4 15V7L4 2V0H2L2 2H0V4H2L2 15C2 16.6569 3.34315 18 5 18L16 18V20H18V18H20V16H18H16H13ZM16 14V5C16 4.44771 15.5523 4 15 4H6V2H15C16.6569 2 18 3.34315 18 5V14H16Z" Fill="#273C62" />
-                            <TextBlock VerticalAlignment="Center" Text="裁剪" />
+                            <TextBlock VerticalAlignment="Center" Text="{Binding T_Crop}" />
                             <Path
                                 Width="12"
                                 Height="12"