Browse Source

转档-自定义页面

liyijie 2 years ago
parent
commit
1c9516eeb7

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

@@ -42,6 +42,17 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         public string PageRangeText { set; get; } = "0";
 
         public string PageRangeSelectIndex { set; get; } = "0";
+
+
+        private int maxPageRange = 0;
+        public int MaxPageRange
+        {
+            get { return maxPageRange; }
+            set
+            {
+                SetProperty(ref maxPageRange, value);
+            }
+        }
         #endregion
 
         #region 委托声明
@@ -56,6 +67,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         public DelegateCommand<object> CmbPageTextChanged { get; set; }
 
         public DelegateCommand BatchConverterCommand { get; set; }
+
         #endregion
 
         public ConverterCSVDialogViewModel(IDialogService dialogService)
@@ -226,6 +238,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             if (pdfViewer != null)
             {
                 currentViewer = pdfViewer;
+                MaxPageRange=currentViewer.Document.PageCount;
                 if (currentViewer.Tag != null) { ConverterCSVModel.Pawssword = currentViewer.Tag.ToString(); }
                 ConverterCSVModel.InputPath = pdfViewer.Document.FilePath;
                 FileInfo fileinfo = new FileInfo(ConverterCSVModel.InputPath);

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

@@ -37,6 +37,16 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         public string PageRangeText { set; get; } = "0";
 
         public string PageRangeSelectIndex { set; get; } = "0";
+
+        private int maxPageRange = 0;
+        public int MaxPageRange
+        {
+            get { return maxPageRange; }
+            set
+            {
+                SetProperty(ref maxPageRange, value);
+            }
+        }
         #endregion
 
         #region 委托声明
@@ -231,6 +241,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             if (pdfViewer != null)
             {
                 currentViewer = pdfViewer;
+                MaxPageRange = currentViewer.Document.PageCount;
                 if (currentViewer.Tag != null) { ConverterExcelModel.Pawssword = currentViewer.Tag.ToString(); }
                 ConverterExcelModel.InputPath = pdfViewer.Document.FilePath;
                 FileInfo fileinfo = new FileInfo(ConverterExcelModel.InputPath);

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

@@ -36,6 +36,16 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         public string PageRangeText { set; get; } = "0";
 
         public string PageRangeSelectIndex { set; get; } = "0";
+
+        private int maxPageRange = 0;
+        public int MaxPageRange
+        {
+            get { return maxPageRange; }
+            set
+            {
+                SetProperty(ref maxPageRange, value);
+            }
+        }
         #endregion
 
         #region 委托声明
@@ -201,6 +211,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             if (pdfViewer != null)
             {
                 currentViewer = pdfViewer;
+                MaxPageRange = currentViewer.Document.PageCount;
                 if (currentViewer.Tag != null) { ConverterHTMLModel.Pawssword = currentViewer.Tag.ToString(); }
                 ConverterHTMLModel.InputPath = pdfViewer.Document.FilePath;
                 FileInfo fileinfo = new FileInfo(ConverterHTMLModel.InputPath);

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

@@ -38,6 +38,16 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
         public string PageRangeSelectIndex { set; get; } = "0";
 
+        private int maxPageRange = 0;
+        public int MaxPageRange
+        {
+            get { return maxPageRange; }
+            set
+            {
+                SetProperty(ref maxPageRange, value);
+            }
+        }
+
         public List<string> ImageTypeFamily { set; get; } = new List<string>();
 
         private int imageTypeSelectedIndex;
@@ -325,6 +335,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             if (pdfViewer != null)
             {
                 currentViewer = pdfViewer;
+                MaxPageRange = currentViewer.Document.PageCount;
                 if (currentViewer.Tag != null) { ConverterImgModel.Pawssword = currentViewer.Tag.ToString(); }
                 ConverterImgModel.InputPath = pdfViewer.Document.FilePath;
                 FileInfo fileinfo = new FileInfo(ConverterImgModel.InputPath);

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

@@ -36,6 +36,16 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         public string PageRangeText { set; get; } = "0";
 
         public string PageRangeSelectIndex { set; get; } = "0";
+
+        private int maxPageRange = 0;
+        public int MaxPageRange
+        {
+            get { return maxPageRange; }
+            set
+            {
+                SetProperty(ref maxPageRange, value);
+            }
+        }
         #endregion
 
         #region 委托声明
@@ -199,6 +209,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             if (pdfViewer != null)
             {
                 currentViewer = pdfViewer;
+                MaxPageRange = currentViewer.Document.PageCount;
                 if (currentViewer.Tag != null) { ConverterPPTModel.Pawssword = currentViewer.Tag.ToString(); }
                 ConverterPPTModel.InputPath = pdfViewer.Document.FilePath;
                 FileInfo fileinfo = new FileInfo(ConverterPPTModel.InputPath);

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

@@ -36,6 +36,16 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         public string PageRangeText { set; get; } = "0";
 
         public string PageRangeSelectIndex { set; get; } = "0";
+
+        private int maxPageRange = 0;
+        public int MaxPageRange
+        {
+            get { return maxPageRange; }
+            set
+            {
+                SetProperty(ref maxPageRange, value);
+            }
+        }
         #endregion
         #region 委托声明
         public DelegateCommand CancelCommand { get; set; }
@@ -197,6 +207,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             if (pdfViewer != null)
             {
                 currentViewer = pdfViewer;
+                MaxPageRange = currentViewer.Document.PageCount;
                 if (currentViewer.Tag != null) { ConverterRTFModel.Pawssword = currentViewer.Tag.ToString(); }
                 ConverterRTFModel.InputPath = pdfViewer.Document.FilePath;
                 FileInfo fileinfo = new FileInfo(ConverterRTFModel.InputPath);

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

@@ -38,6 +38,16 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
         public string PageRangeSelectIndex { set; get; } = "0";
 
+        private int maxPageRange = 0;
+        public int MaxPageRange
+        {
+            get { return maxPageRange; }
+            set
+            {
+                SetProperty(ref maxPageRange, value);
+            }
+        }
+
         #endregion
 
         #region 委托声明
@@ -198,6 +208,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             if (pdfViewer != null)
             {
                 currentViewer = pdfViewer;
+                MaxPageRange = currentViewer.Document.PageCount;
                 if (currentViewer.Tag != null) { ConverterTextModel.Pawssword = currentViewer.Tag.ToString(); }
                 ConverterTextModel.InputPath = pdfViewer.Document.FilePath;
                 FileInfo fileinfo = new FileInfo(ConverterTextModel.InputPath);

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

@@ -36,6 +36,16 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         public string PageRangeText { set; get; } = "0";
 
         public string PageRangeSelectIndex { set; get; } = "0";
+
+        private int maxPageRange = 0;
+        public int MaxPageRange
+        {
+            get { return maxPageRange; }
+            set
+            {
+                SetProperty(ref maxPageRange, value);
+            }
+        }
         #endregion
 
         #region 委托声明
@@ -217,6 +227,7 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             if (pdfViewer != null)
             {
                 currentViewer = pdfViewer;
+                MaxPageRange = currentViewer.Document.PageCount;
                 if (currentViewer.Tag != null) { ConverterWordModel.Pawssword = currentViewer.Tag.ToString(); }
                 ConverterWordModel.InputPath = pdfViewer.Document.FilePath;
                 FileInfo fileinfo = new FileInfo(ConverterWordModel.InputPath);

+ 1 - 1
PDF Office/ViewModels/EditTools/Watermark/WatermarkDocumentContentViewModel.cs

@@ -293,7 +293,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
                 if (!regionManager.Regions[ViewerRegionName].Views.Contains(PDFViewer))
                 {
                     PDFViewer = new CPDFViewer();
-                    PDFViewer.InitDocument(pdfViewer.Document.FilePath);
+                    PDFViewer.InitDocument(pdfViewer.Document);
                     Document = PDFViewer.Document;
                     PDFViewer.CustomDrawHandler += CurrentViewer_CustomDrawHandler;
                     PDFViewer.UndoManager.PropertyChanged += UndoManager_PropertyChanged;

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

@@ -58,6 +58,7 @@
                                 Margin="0,4,0,0"
                                 HorizontalAlignment="Left"
                                 IsCurrentPage="True"
+                                MaxPageRange="{Binding MaxPageRange}"
                                 Loaded="PageRangeComboBox_Loaded"
                                 SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}"
                                 Text="{Binding PageRangeText, Mode=TwoWay}">

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

@@ -61,7 +61,7 @@
                             </StackPanel>
                             <StackPanel Orientation="Vertical" Margin="0,14,0,0">
                                 <TextBlock Text="页面范围" Height="20" Width="48" HorizontalAlignment="Left"/>
-                                <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,0,0" Width="228" Height="32" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}"  SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" Loaded="PageRangeComboBox_Loaded">
+                                <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,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">
                                             <i:InvokeCommandAction Command="{Binding CmbPageSelectionChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />

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

@@ -38,7 +38,7 @@
                         </StackPanel>
                         <StackPanel Orientation="Vertical" Margin="0,14,0,0">
                             <TextBlock Text="页面范围" Height="20" Width="48" HorizontalAlignment="Left"/>
-                            <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,0,0" Width="228" Height="32" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}"  SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" Loaded="PageRangeComboBox_Loaded">
+                            <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,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">
                                         <i:InvokeCommandAction Command="{Binding CmbPageSelectionChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />

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

@@ -68,6 +68,7 @@
                                 Margin="0,4,0,0"
                                 HorizontalAlignment="Left"
                                 IsCurrentPage="True"
+                                MaxPageRange="{Binding MaxPageRange}"
                                 Loaded="PageRangeComboBox_Loaded"
                                 SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}"
                                 Text="{Binding PageRangeText, Mode=TwoWay}" >

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

@@ -38,7 +38,7 @@
                         </StackPanel>
                         <StackPanel Orientation="Vertical" Margin="0,14,0,0">
                             <TextBlock Text="页面范围" Height="20" Width="48" HorizontalAlignment="Left"/>
-                            <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,0,0" Width="228" Height="32" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}"  SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" Loaded="PageRangeComboBox_Loaded">
+                            <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,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">
                                         <i:InvokeCommandAction Command="{Binding CmbPageSelectionChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />

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

@@ -38,7 +38,7 @@
                         </StackPanel>
                         <StackPanel Orientation="Vertical" Margin="0,14,0,0">
                             <TextBlock Text="页面范围" Height="20" Width="48" HorizontalAlignment="Left"/>
-                            <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,0,0" Width="228" Height="32" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}"  SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" Loaded="PageRangeComboBox_Loaded">
+                            <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,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">
                                         <i:InvokeCommandAction Command="{Binding CmbPageSelectionChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />

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

@@ -38,7 +38,7 @@
                         </StackPanel>
                         <StackPanel Orientation="Vertical" Margin="0,14,0,0">
                             <TextBlock Text="页面范围" Height="20" Width="48" HorizontalAlignment="Left"/>
-                            <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,0,0" Width="228" Height="32" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}"  SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" Loaded="PageRangeComboBox_Loaded">
+                            <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,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">
                                         <i:InvokeCommandAction Command="{Binding CmbPageSelectionChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />

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

@@ -50,7 +50,7 @@
                             </StackPanel>
                             <StackPanel Orientation="Vertical" Margin="0,14,0,0">
                                 <TextBlock Text="页面范围" Height="20" Width="48" HorizontalAlignment="Left"/>
-                                <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,0,0" Width="228" Height="32" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}"  SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" Loaded="PageRangeComboBox_Loaded">
+                                <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,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">
                                             <i:InvokeCommandAction Command="{Binding CmbPageSelectionChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />