Sfoglia il codice sorgente

页面范围-修改,填写与签名-取消默认选中

liyijie 2 anni fa
parent
commit
6dd4e2ee99

+ 33 - 11
PDF Office/CustomControl/PageTurningPreview.xaml.cs

@@ -37,7 +37,10 @@ namespace PDF_Office.CustomControl
             {
                 currentIndex = value;
                 //合理的使用set方法来进行一些操作,可以帮助理清很多思路,且极大减少代码量
-                this.CurrentPage.Text = (PageIndexLists[CurrentIndex] + 1).ToString();
+                //显示Doc页码
+                //this.CurrentPage.Text = (PageIndexLists[CurrentIndex] + 1).ToString();
+                //显示位置
+                this.CurrentPage.Text = (CurrentIndex + 1).ToString();
                 if (document != null)
                 {
                     AwaitRenderBitmap(document);
@@ -93,23 +96,36 @@ namespace PDF_Office.CustomControl
             {
                 if (this.CurrentPage.Text == "" || !int.TryParse(this.CurrentPage.Text, out int _))
                 {
-                    this.CurrentPage.Text = (PageIndexLists[0] + 1).ToString();
+                    // this.CurrentPage.Text = (PageIndexLists[0] + 1).ToString();
+                    this.CurrentPage.Text = "1";
                 }
                 if (this.PageIndex != null)
                 {
-                    if (PageIndexLists.Contains( int.Parse(this.CurrentPage.Text)-1))
+                    //if (PageIndexLists.Contains( int.Parse(this.CurrentPage.Text)-1))
+                    //{
+                    //    CurrentIndex=PageIndexLists.IndexOf(int.Parse(this.CurrentPage.Text)-1);
+                    //    this.CurrentPage.Text = (PageIndexLists[CurrentIndex] + 1).ToString();
+                    //    AwaitRenderBitmap(document);
+                    //}
+                    //else
+                    //{
+                    //    this.CurrentPage.Text = (PageIndexLists[CurrentIndex] + 1).ToString();
+                    //    MessageBox.Show("超出页面范围");
+                    //}
+
+                    if (int.Parse(this.CurrentPage.Text)<=PageIndexLists.Count&&int.Parse(this.CurrentPage.Text) > 0)
                     {
-                        CurrentIndex=PageIndexLists.IndexOf(int.Parse(this.CurrentPage.Text)-1);
-                        this.CurrentPage.Text = (PageIndexLists[CurrentIndex]+1).ToString();
+                        CurrentIndex =int.Parse(this.CurrentPage.Text) - 1;
+                        this.CurrentPage.Text = (CurrentIndex + 1).ToString();
                         AwaitRenderBitmap(document);
                     }
                     else
                     {
-                        this.CurrentPage.Text = (PageIndexLists[CurrentIndex] + 1).ToString();
-                        MessageBox.Show("超出页面范围");
+                        this.CurrentPage.Text = (CurrentIndex + 1).ToString();
+                        //MessageBox.Show("超出页面范围");
                     }
                 }
-                
+
             }
         }
 
@@ -129,13 +145,19 @@ namespace PDF_Office.CustomControl
                 if (PageIndexLists.Contains(int.Parse(this.CurrentPage.Text) - 1))
                 {
                     CurrentIndex = PageIndexLists.IndexOf(int.Parse(this.CurrentPage.Text) - 1);
-                    this.CurrentPage.Text = (PageIndexLists[CurrentIndex] + 1).ToString();
+                    //显示Doc页码
+                    //this.CurrentPage.Text = (PageIndexLists[CurrentIndex] + 1).ToString();
+                    //显示位置
+                    this.CurrentPage.Text = (CurrentIndex +1).ToString();
                     AwaitRenderBitmap(document);
                 }
                 else
                 {
-                    this.CurrentPage.Text = (PageIndexLists[CurrentIndex] + 1).ToString();
-                   
+                    //显示Doc页码
+                    //this.CurrentPage.Text = (PageIndexLists[CurrentIndex] + 1).ToString();
+                    //显示位置
+                    this.CurrentPage.Text = (CurrentIndex + 1).ToString();
+
                 }
             }
         }

+ 5 - 2
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterCSVDialogViewModel.cs

@@ -87,6 +87,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
         public string PageRangeSelectIndex { set; get; } = "0";
 
+        public bool IsCurrentPageIndex = true;
 
         private int maxPageRange = 0;
         public int MaxPageRange
@@ -201,7 +202,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
                    this.CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
                 }
-                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                // ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                ConverterPreview.PageIndex.Text= ConverterPreview.PageIndexLists.Count.ToString();
                 ConverterPreview.CurrentIndex = 0;
             }
         }
@@ -229,7 +231,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
                     else
                     {
-                        ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        // ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        ConverterPreview.PageIndex.Text = ConverterPreview.PageIndexLists.Count.ToString();
                         ConverterPreview.CurrentIndex = 0;
                     }
                 }

+ 45 - 11
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterExcelDialogViewModel.cs

@@ -34,13 +34,15 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
         public string CurrentPageIndex = "1";
 
+        public bool IsCurrentPageIndex = false;
+
         public IDialogService dialogs;
 
         public string PageRangeText { set; get; } = "0";
 
         public string PageRangeSelectIndex { set; get; } = "0";
 
-        private int _anyContentSelectIndex=0;
+        private int _anyContentSelectIndex = 0;
         public int AnyContentSelectIndex
         {
             get { return _anyContentSelectIndex; }
@@ -52,7 +54,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             }
         }
 
-        private int _onlyTableSelectIndex=0;
+        private int _onlyTableSelectIndex = 0;
         public int OnlyTableSelectIndex
         {
             get { return _onlyTableSelectIndex; }
@@ -96,6 +98,32 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
             }
         }
+
+        private Dictionary<string, string> CheckPageSelect = new Dictionary<string, string>();
+
+        private void InitCheckPageSelect()
+        {
+
+            CheckPageSelect.Clear();
+            if (!IsCurrentPageIndex)
+            {
+                CheckPageSelect.Add("0", "0");
+                CheckPageSelect.Add("1", "1");
+                CheckPageSelect.Add("2", "2");
+                CheckPageSelect.Add("3", "3");
+                CheckPageSelect.Add("4", "3");
+            }
+            else
+            {
+
+                CheckPageSelect.Add("0", "0");
+                CheckPageSelect.Add("1", "-2");
+                CheckPageSelect.Add("2", "1");
+                CheckPageSelect.Add("3", "2");
+                CheckPageSelect.Add("4", "3");
+
+            }
+        }
         #endregion
 
         #region 委托声明
@@ -124,13 +152,14 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             CmbPageSelectionChanged = new DelegateCommand<object>(CmbPageSelectionChangedEvent);
             CmbPageTextChanged = new DelegateCommand<object>(CmbPageTextChangedEvent);
             BatchConverterCommand = new DelegateCommand(BatchConverter);
+
             dialogs = dialogService;
         }
         #region 逻辑函数
 
         public void SetCustomPageRange()
         {
-            if (PageRangeSelectIndex == "4")
+            if (PageRangeSelectIndex == CheckPageSelect["4"])
             {
 
                 List<int> PageIndexLists = new List<int>();
@@ -162,7 +191,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
         private void converter()
         {
-            if (PageRangeSelectIndex == "4")
+            if (PageRangeSelectIndex == CheckPageSelect["4"])
             {
 
                 List<int> PageIndexLists = new List<int>();
@@ -218,7 +247,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             {
                 return;
             }
-            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref ConverterExcelModel.PageRange, PageRangeText, true, CurrentPageIndex);
+            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref ConverterExcelModel.PageRange, PageRangeText, !IsCurrentPageIndex, CurrentPageIndex);
             if (ConverterExcelModel.PageRange == "")
             {
                 Trace.WriteLine("输入不对");
@@ -262,9 +291,9 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                 var currentViewer = this.currentViewer;
                 string PageRange = "";
                 var PageRangeText = this.PageRangeText;
-                if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
+                if (PageRangeSelectIndex == CheckPageSelect["0"] || PageRangeSelectIndex == CheckPageSelect["2"] || PageRangeSelectIndex == CheckPageSelect["3"])
                 {
-                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, !IsCurrentPageIndex);
                     char[] enumerationSeparator = new char[] { ',' };
                     char[] rangeSeparator = new char[] { '-' };
                     if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
@@ -276,7 +305,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
 
                 }
-                if (PageRangeSelectIndex == "1")
+                if (PageRangeSelectIndex == CheckPageSelect["1"])
                 {
                     char[] enumerationSeparator = new char[] { ',' };
                     char[] rangeSeparator = new char[] { '-' };
@@ -290,7 +319,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
                     this.CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
                 }
-                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                // ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                ConverterPreview.PageIndex.Text = ConverterPreview.PageIndexLists.Count.ToString();
                 ConverterPreview.CurrentIndex = 0;
             }
         }
@@ -306,7 +336,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     var currentViewer = this.currentViewer;
                     string PageRange = "";
                     var PageRangeText = this.PageRangeText;
-                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, !IsCurrentPageIndex);
                     char[] enumerationSeparator = new char[] { ',' };
                     char[] rangeSeparator = new char[] { '-' };
 
@@ -318,7 +348,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
                     else
                     {
-                        ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                       // ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        ConverterPreview.PageIndex.Text = ConverterPreview.PageIndexLists.Count.ToString();
                         ConverterPreview.CurrentIndex = 0;
                     }
                 }
@@ -436,9 +467,12 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         public void OnDialogOpened(IDialogParameters parameters)
         {
             CPDFViewer pdfViewer = null;
+
             parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out pdfViewer);
+            parameters.TryGetValue<bool>("PageRangeComboBoxCurrentPage", out IsCurrentPageIndex);
             if (pdfViewer != null)
             {
+                InitCheckPageSelect();
                 currentViewer = pdfViewer;
                 MaxPageRange = currentViewer.Document.PageCount;
                 if (currentViewer.Tag != null) { ConverterExcelModel.Pawssword = currentViewer.Tag.ToString(); }

+ 6 - 2
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterHTMLDialogViewModel.cs

@@ -78,6 +78,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
         public string CurrentPageIndex = "1";
 
+        public bool IsCurrentPageIndex = true;
+
         public string PageRangeText { set; get; } = "0";
 
         public string PageRangeSelectIndex { set; get; } = "0";
@@ -307,7 +309,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
                     this.CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
                 }
-                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                // ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                ConverterPreview.PageIndex.Text = ConverterPreview.PageIndexLists.Count.ToString();
                 ConverterPreview.CurrentIndex = 0;
             }
         }
@@ -335,7 +338,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
                     else
                     {
-                        ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        // ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        ConverterPreview.PageIndex.Text = ConverterPreview.PageIndexLists.Count.ToString();
                         ConverterPreview.CurrentIndex = 0;
                     }
                 }

+ 43 - 9
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterImgDialogViewModel.cs

@@ -78,6 +78,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
         public string CurrentPageIndex = "1";
 
+        public bool IsCurrentPageIndex = true;
+
         public IDialogService dialogs;
 
         public string PageRangeText { set; get; } = "0";
@@ -150,6 +152,32 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             this.ImageDPIFamily.Add("300 dpi");
             this.ImageDPIFamily.Add("600 dpi");
         }
+
+        private Dictionary<string, string> CheckPageSelect = new Dictionary<string, string>();
+
+        private void InitCheckPageSelect()
+        {
+
+            CheckPageSelect.Clear();
+            if (!IsCurrentPageIndex)
+            {
+                CheckPageSelect.Add("0", "0");
+                CheckPageSelect.Add("1", "1");
+                CheckPageSelect.Add("2", "2");
+                CheckPageSelect.Add("3", "3");
+                CheckPageSelect.Add("4", "3");
+            }
+            else
+            {
+
+                CheckPageSelect.Add("0", "0");
+                CheckPageSelect.Add("1", "-2");
+                CheckPageSelect.Add("2", "1");
+                CheckPageSelect.Add("3", "2");
+                CheckPageSelect.Add("4", "3");
+
+            }
+        }
         #endregion
 
         #region 委托声明
@@ -183,9 +211,11 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
         #region 逻辑函数
 
+        
+
         public void SetCustomPageRange()
         {
-            if (PageRangeSelectIndex == "4")
+            if (PageRangeSelectIndex == CheckPageSelect["4"])
             {
 
                 List<int> PageIndexLists = new List<int>();
@@ -289,7 +319,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
         private void converter()
         {
-            if (PageRangeSelectIndex == "4")
+            if (PageRangeSelectIndex == CheckPageSelect["4"])
             {
 
                 List<int> PageIndexLists = new List<int>();
@@ -322,7 +352,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             {
                 return;
             }
-            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref ConverterImgModel.PageRange, PageRangeText, true, CurrentPageIndex);
+            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref ConverterImgModel.PageRange, PageRangeText, !IsCurrentPageIndex, CurrentPageIndex);
             if (ConverterImgModel.PageRange == "")
             {
                 Trace.WriteLine("输入不对");
@@ -365,9 +395,9 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                 var currentViewer = this.currentViewer;
                 string PageRange = "";
                 var PageRangeText = this.PageRangeText;
-                if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
+                if (PageRangeSelectIndex == CheckPageSelect["0"] || PageRangeSelectIndex == CheckPageSelect["2"] || PageRangeSelectIndex == CheckPageSelect["3"])
                 {
-                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, !IsCurrentPageIndex);
                     char[] enumerationSeparator = new char[] { ',' };
                     char[] rangeSeparator = new char[] { '-' };
                     if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
@@ -379,7 +409,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
 
                 }
-                if (PageRangeSelectIndex == "1")
+                if (PageRangeSelectIndex == CheckPageSelect["1"])
                 {
                     char[] enumerationSeparator = new char[] { ',' };
                     char[] rangeSeparator = new char[] { '-' };
@@ -393,7 +423,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
                     this.CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
                 }
-                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                // ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                ConverterPreview.PageIndex.Text = ConverterPreview.PageIndexLists.Count.ToString();
                 ConverterPreview.CurrentIndex = 0;
             }
         }
@@ -409,7 +440,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     var currentViewer = this.currentViewer;
                     string PageRange = "";
                     var PageRangeText = this.PageRangeText;
-                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, !IsCurrentPageIndex);
                     char[] enumerationSeparator = new char[] { ',' };
                     char[] rangeSeparator = new char[] { '-' };
 
@@ -421,7 +452,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
                     else
                     {
-                        ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        // ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        ConverterPreview.PageIndex.Text = ConverterPreview.PageIndexLists.Count.ToString();
                         ConverterPreview.CurrentIndex = 0;
                     }
                 }
@@ -455,8 +487,10 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         {
             CPDFViewer pdfViewer = null;
             parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out pdfViewer);
+            parameters.TryGetValue<bool>("PageRangeComboBoxCurrentPage", out IsCurrentPageIndex);
             if (pdfViewer != null)
             {
+                InitCheckPageSelect();
                 currentViewer = pdfViewer;
                 MaxPageRange = currentViewer.Document.PageCount;
                 if (currentViewer.Tag != null) { ConverterImgModel.Pawssword = currentViewer.Tag.ToString(); }

+ 42 - 9
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterPPTDialogViewModel.cs

@@ -78,6 +78,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
         public string CurrentPageIndex = "1";
 
+        public bool IsCurrentPageIndex = true;
+
         public string PageRangeText { set; get; } = "0";
 
         public string PageRangeSelectIndex { set; get; } = "0";
@@ -114,6 +116,32 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
             }
         }
+
+        private Dictionary<string, string> CheckPageSelect = new Dictionary<string, string>();
+
+        private void InitCheckPageSelect()
+        {
+
+            CheckPageSelect.Clear();
+            if (!IsCurrentPageIndex)
+            {
+                CheckPageSelect.Add("0", "0");
+                CheckPageSelect.Add("1", "1");
+                CheckPageSelect.Add("2", "2");
+                CheckPageSelect.Add("3", "3");
+                CheckPageSelect.Add("4", "3");
+            }
+            else
+            {
+
+                CheckPageSelect.Add("0", "0");
+                CheckPageSelect.Add("1", "-2");
+                CheckPageSelect.Add("2", "1");
+                CheckPageSelect.Add("3", "2");
+                CheckPageSelect.Add("4", "3");
+
+            }
+        }
         #endregion
 
         #region 委托声明
@@ -143,9 +171,10 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             IntString();
         }
         #region 逻辑函数
+
         public void SetCustomPageRange()
         {
-            if (PageRangeSelectIndex == "4")
+            if (PageRangeSelectIndex == CheckPageSelect["4"])
             {
 
                 List<int> PageIndexLists = new List<int>();
@@ -179,7 +208,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
         private void converter()
         {
-            if (PageRangeSelectIndex == "4")
+            if (PageRangeSelectIndex == CheckPageSelect["4"])
             {
 
                 List<int> PageIndexLists = new List<int>();
@@ -235,7 +264,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             {
                 return;
             }
-            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref ConverterPPTModel.PageRange, PageRangeText, true, CurrentPageIndex);
+            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref ConverterPPTModel.PageRange, PageRangeText, !IsCurrentPageIndex, CurrentPageIndex);
             if (ConverterPPTModel.PageRange == "")
             {
                 Trace.WriteLine("输入不对");
@@ -278,9 +307,9 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                 var currentViewer = this.currentViewer;
                 string PageRange = "";
                 var PageRangeText = this.PageRangeText;
-                if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
+                if (PageRangeSelectIndex == CheckPageSelect["0"] || PageRangeSelectIndex == CheckPageSelect["2"] || PageRangeSelectIndex == CheckPageSelect["3"])
                 {
-                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, !IsCurrentPageIndex);
                     char[] enumerationSeparator = new char[] { ',' };
                     char[] rangeSeparator = new char[] { '-' };
                     if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
@@ -292,7 +321,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
 
                 }
-                if (PageRangeSelectIndex == "1")
+                if (PageRangeSelectIndex == CheckPageSelect["1"])
                 {
                     char[] enumerationSeparator = new char[] { ',' };
                     char[] rangeSeparator = new char[] { '-' };
@@ -306,7 +335,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
                     this.CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
                 }
-                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                // ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                ConverterPreview.PageIndex.Text = ConverterPreview.PageIndexLists.Count.ToString();
                 ConverterPreview.CurrentIndex = 0;
             }
         }
@@ -322,7 +352,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     var currentViewer = this.currentViewer;
                     string PageRange = "";
                     var PageRangeText = this.PageRangeText;
-                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, !IsCurrentPageIndex);
                     char[] enumerationSeparator = new char[] { ',' };
                     char[] rangeSeparator = new char[] { '-' };
 
@@ -334,7 +364,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
                     else
                     {
-                        ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        // ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        ConverterPreview.PageIndex.Text = ConverterPreview.PageIndexLists.Count.ToString();
                         ConverterPreview.CurrentIndex = 0;
                     }
                 }
@@ -394,8 +425,10 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         {
             CPDFViewer pdfViewer = null;
             parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out pdfViewer);
+            parameters.TryGetValue<bool>("PageRangeComboBoxCurrentPage", out IsCurrentPageIndex);
             if (pdfViewer != null)
             {
+                InitCheckPageSelect();
                 currentViewer = pdfViewer;
                 MaxPageRange = currentViewer.Document.PageCount;
                 if (currentViewer.Tag != null) { ConverterPPTModel.Pawssword = currentViewer.Tag.ToString(); }

+ 6 - 2
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterRTFDialogViewModel.cs

@@ -78,6 +78,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
         public string CurrentPageIndex = "1";
 
+        public bool IsCurrentPageIndex = true;
+
         public string PageRangeText { set; get; } = "0";
 
         public string PageRangeSelectIndex { set; get; } = "0";
@@ -305,7 +307,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
                     this.CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
                 }
-                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                // ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                ConverterPreview.PageIndex.Text = ConverterPreview.PageIndexLists.Count.ToString();
                 ConverterPreview.CurrentIndex = 0;
             }
         }
@@ -333,7 +336,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
                     else
                     {
-                        ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        // ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        ConverterPreview.PageIndex.Text = ConverterPreview.PageIndexLists.Count.ToString();
                         ConverterPreview.CurrentIndex = 0;
                     }
                 }

+ 6 - 2
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterTextDialogViewModel.cs

@@ -79,6 +79,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
         public string CurrentPageIndex = "1";
 
+        public bool IsCurrentPageIndex = true;
+
         public string PageRangeText { set; get; } = "0";
 
         public string PageRangeSelectIndex { set; get; } = "0";
@@ -304,7 +306,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
                     this.CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
                 }
-                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                // ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                ConverterPreview.PageIndex.Text = ConverterPreview.PageIndexLists.Count.ToString();
                 ConverterPreview.CurrentIndex = 0;
             }
         }
@@ -332,7 +335,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
                     else
                     {
-                        ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        // ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        ConverterPreview.PageIndex.Text = ConverterPreview.PageIndexLists.Count.ToString();
                         ConverterPreview.CurrentIndex = 0;
                     }
                 }

+ 42 - 9
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterWordDialogViewModel.cs

@@ -79,6 +79,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
         public string CurrentPageIndex = "1";
 
+        public bool IsCurrentPageIndex = true;
+
         public string PageRangeText { set; get; } = "0";
 
         public string PageRangeSelectIndex { set; get; } = "0";
@@ -115,6 +117,32 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
             }
         }
+
+        private Dictionary<string, string> CheckPageSelect = new Dictionary<string, string>();
+
+        private void InitCheckPageSelect()
+        {
+
+            CheckPageSelect.Clear();
+            if (!IsCurrentPageIndex)
+            {
+                CheckPageSelect.Add("0", "0");
+                CheckPageSelect.Add("1", "1");
+                CheckPageSelect.Add("2", "2");
+                CheckPageSelect.Add("3", "3");
+                CheckPageSelect.Add("4", "3");
+            }
+            else
+            {
+
+                CheckPageSelect.Add("0", "0");
+                CheckPageSelect.Add("1", "-2");
+                CheckPageSelect.Add("2", "1");
+                CheckPageSelect.Add("3", "2");
+                CheckPageSelect.Add("4", "3");
+
+            }
+        }
         #endregion
 
         #region 委托声明
@@ -147,9 +175,10 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             IntString();
         }
         #region 逻辑函数
+
         public void SetCustomPageRange()
         {
-            if (PageRangeSelectIndex == "4")
+            if (PageRangeSelectIndex == CheckPageSelect["4"])
             {
 
                 List<int> PageIndexLists = new List<int>();
@@ -182,7 +211,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
         private void converter()
         {
-            if (PageRangeSelectIndex == "4")
+            if (PageRangeSelectIndex == CheckPageSelect["4"])
             {
 
                 List<int> PageIndexLists = new List<int>();
@@ -237,7 +266,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             {
                 return;
             }
-            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref ConverterWordModel.PageRange, PageRangeText, true, CurrentPageIndex);
+            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref ConverterWordModel.PageRange, PageRangeText, !IsCurrentPageIndex, CurrentPageIndex);
             if (ConverterWordModel.PageRange == "")
             {
                 Trace.WriteLine("输入不对");
@@ -280,9 +309,9 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                 var currentViewer = this.currentViewer;
                 string PageRange = "";
                 var PageRangeText = this.PageRangeText;
-                if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
+                if (PageRangeSelectIndex == CheckPageSelect["0"] || PageRangeSelectIndex == CheckPageSelect["2"] || PageRangeSelectIndex == CheckPageSelect["3"])
                 {
-                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, !IsCurrentPageIndex);
                     char[] enumerationSeparator = new char[] { ',' };
                     char[] rangeSeparator = new char[] { '-' };
                     if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
@@ -294,7 +323,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
 
                 }
-                if (PageRangeSelectIndex == "1")
+                if (PageRangeSelectIndex == CheckPageSelect["1"])
                 {
                     char[] enumerationSeparator = new char[] { ',' };
                     char[] rangeSeparator = new char[] { '-' };
@@ -308,7 +337,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
                     this.CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
                 }
-                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                // ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                ConverterPreview.PageIndex.Text = ConverterPreview.PageIndexLists.Count.ToString();
                 ConverterPreview.CurrentIndex = 0;
             }
         }
@@ -324,7 +354,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     var currentViewer = this.currentViewer;
                     string PageRange = "";
                     var PageRangeText = this.PageRangeText;
-                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, !IsCurrentPageIndex);
                     char[] enumerationSeparator = new char[] { ',' };
                     char[] rangeSeparator = new char[] { '-' };
 
@@ -336,7 +366,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
                     }
                     else
                     {
-                        ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        // ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        ConverterPreview.PageIndex.Text = ConverterPreview.PageIndexLists.Count.ToString();
                         ConverterPreview.CurrentIndex = 0;
                     }
                 }
@@ -413,8 +444,10 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         {
             CPDFViewer pdfViewer = null;
             parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out pdfViewer);
+            parameters.TryGetValue<bool>("PageRangeComboBoxCurrentPage", out IsCurrentPageIndex);
             if (pdfViewer != null)
             {
+                InitCheckPageSelect();
                 currentViewer = pdfViewer;
                 MaxPageRange = currentViewer.Document.PageCount;
                 if (currentViewer.Tag != null) { ConverterWordModel.Pawssword = currentViewer.Tag.ToString(); }

+ 5 - 3
PDF Office/ViewModels/FillAndSign/FillAndSignContentViewModel.cs

@@ -81,7 +81,7 @@ namespace PDF_Office.ViewModels.FillAndSign
 
         private string DateOrText = "";
 
-        private bool _HookShapeIsCheck = true;
+        private bool _HookShapeIsCheck = false;
         public bool HookShapeIsCheck
         {
             get { return _HookShapeIsCheck; }
@@ -1717,9 +1717,11 @@ namespace PDF_Office.ViewModels.FillAndSign
             navigationContext.Parameters.TryGetValue<ViewContentViewModel>(ParameterNames.ViewContentViewModel, out viewContentViewModel);
             navigationContext.Parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out PDFViewer);
             BindingPDFViewerHandler();
-            HookShapeIsCheck = true;
+           HookShapeIsCheck = true;
+            HookShapeIsCheck = false;
             InitFillAndSignProperty();
-            InitCheckedEvent("RbtnTick");
+            ShowPropertyPanel(false);
+            // InitCheckedEvent("RbtnTick");
             IsEdit = false;
 
         }

+ 8 - 4
PDF Office/ViewModels/HomePanel/PDFTools/QuickToolsContentViewModel.cs

@@ -131,7 +131,7 @@ namespace PDF_Office.ViewModels.HomePanel.PDFTools
                 toolItem.FnType == PDFFnType.PDFToPPT|| toolItem.FnType == PDFFnType.Batch ||
                 toolItem.FnType == PDFFnType.Merge)
             {
-                dlg.Multiselect = true;
+                //dlg.Multiselect = true;
             }
             if (toolItem.FnType == PDFFnType.ImageToPDF)
             {
@@ -301,6 +301,7 @@ namespace PDF_Office.ViewModels.HomePanel.PDFTools
                         viewer.InitDocument(dlg.FileName);
                         if (!CheckPassword(viewer)) { return; }
                         DialogParameters convertpdftoimage = new DialogParameters();
+                        convertpdftoimage.Add("PageRangeComboBoxCurrentPage", true);
                         convertpdftoimage.Add(ParameterNames.PDFViewer, viewer);
                         dialogs.ShowDialog(DialogNames.ConverterImgDialog, convertpdftoimage, e =>
                         {
@@ -321,6 +322,7 @@ namespace PDF_Office.ViewModels.HomePanel.PDFTools
                         if (!CheckPassword(viewer)) { return; }
                         DialogParameters convertpdftoexcel = new DialogParameters();
                         convertpdftoexcel.Add(ParameterNames.PDFViewer, viewer);
+                        convertpdftoexcel.Add("PageRangeComboBoxCurrentPage", true);
                         dialogs.ShowDialog(DialogNames.ConverterExcelDialog, convertpdftoexcel, e =>
                         {
                             ConverterDialogsModel converterDialogsModel = new ConverterDialogsModel();
@@ -337,9 +339,10 @@ namespace PDF_Office.ViewModels.HomePanel.PDFTools
                     case PDFFnType.PDFToPPT:
                         viewer.InitDocument(dlg.FileName);
                         if (!CheckPassword(viewer)) { return; }
-                        DialogParameters convertpdf = new DialogParameters();
-                        convertpdf.Add(ParameterNames.PDFViewer, viewer);
-                        dialogs.ShowDialog(DialogNames.ConverterPPTDialog, convertpdf, e =>
+                        DialogParameters convertpdftoPPT = new DialogParameters();
+                        convertpdftoPPT.Add(ParameterNames.PDFViewer, viewer);
+                        convertpdftoPPT.Add("PageRangeComboBoxCurrentPage", true);
+                        dialogs.ShowDialog(DialogNames.ConverterPPTDialog, convertpdftoPPT, e =>
                         {
                             ConverterDialogsModel converterDialogsModel = new ConverterDialogsModel();
                             converterDialogsModel.OnOpened((DialogResult)e);
@@ -358,6 +361,7 @@ namespace PDF_Office.ViewModels.HomePanel.PDFTools
                         if (!CheckPassword(viewer)) { return; }
                         DialogParameters convertpdftoword = new DialogParameters();
                         convertpdftoword.Add(ParameterNames.PDFViewer, viewer);
+                        convertpdftoword.Add("PageRangeComboBoxCurrentPage", true);
                         dialogs.ShowDialog(DialogNames.ConverterWordDialog, convertpdftoword, e =>
                         {
                             ConverterDialogsModel converterDialogsModel = new ConverterDialogsModel();

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

@@ -34,13 +34,12 @@ namespace PDF_Office.Views.Dialog.ConverterDialogs
         }
         private void PageRangeComboBox_Loaded(object sender, RoutedEventArgs e)
         {
-            PageRangeComboBox.CurrentPage = true;
+            PageRangeComboBox.CurrentPage = !((ConverterExcelDialogViewModel)this.DataContext).IsCurrentPageIndex;
             if (PageRangeComboBox.CurrentPage)
             {
                 ComboBoxItem comboBoxItem = new ComboBoxItem();
                 comboBoxItem.Content = "当前页面";
                 PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
-
             }
         }
 

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

@@ -35,7 +35,7 @@ namespace PDF_Office.Views.Dialog.ConverterDialogs
         }
         private void PageRangeComboBox_Loaded(object sender, RoutedEventArgs e)
         {
-            PageRangeComboBox.CurrentPage = true;
+            PageRangeComboBox.CurrentPage  = !((ConverterImgDialogViewModel)this.DataContext).IsCurrentPageIndex;
             if (PageRangeComboBox.CurrentPage)
             {
                 ComboBoxItem comboBoxItem = new ComboBoxItem();

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

@@ -34,7 +34,7 @@ namespace PDF_Office.Views.Dialog.ConverterDialogs
 
         private void PageRangeComboBox_Loaded(object sender, RoutedEventArgs e)
         {
-            PageRangeComboBox.CurrentPage = true;
+            PageRangeComboBox.CurrentPage = !((ConverterPPTDialogViewModel)this.DataContext).IsCurrentPageIndex;
             if (PageRangeComboBox.CurrentPage)
             {
                 ComboBoxItem comboBoxItem = new ComboBoxItem();

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

@@ -34,7 +34,7 @@ namespace PDF_Office.Views.Dialog.ConverterDialogs
         }
         private void PageRangeComboBox_Loaded(object sender, RoutedEventArgs e)
         {
-            PageRangeComboBox.CurrentPage = true;
+            PageRangeComboBox.CurrentPage = !((ConverterWordDialogViewModel)this.DataContext).IsCurrentPageIndex;
             if (PageRangeComboBox.CurrentPage)
             {
                 ComboBoxItem comboBoxItem = new ComboBoxItem();