Browse Source

拆分,提取-bug

liyijie 2 years ago
parent
commit
2909a539a6

+ 12 - 2
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageExtractDialogViewModel.cs

@@ -14,6 +14,8 @@ using System.Diagnostics;
 using PDF_Office.CustomControl;
 using PDF_Office.Model.Dialog.HomePageToolsDialogs;
 using ImTools;
+using System.Windows.Forms;
+using DialogResult = Prism.Services.Dialogs.DialogResult;
 
 namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 {
@@ -81,6 +83,14 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 
         private void extract()
         {
+            FolderBrowserDialog dlg = new FolderBrowserDialog();
+            string saveSelectedPath = "";
+            if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+            {
+                 saveSelectedPath = dlg.SelectedPath.Trim();
+                 saveSelectedPath = saveSelectedPath + "\\";
+            }
+            else { return; }
             HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref extractModel.PageRange, PageRangeText);
             if (extractModel.PageRange == "")
             {
@@ -103,7 +113,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
                     CPDFDocument extractdoc = CPDFDocument.CreateDocument();
                     extractdoc.ImportPages(currentViewer.Document, (extractModel.PageParm.ToArray()[i] + 1).ToString());
                     Trace.WriteLine(extractModel.PageParm.ToArray()[i].ToString());
-                    string createfilepath= CommonHelper.CreateFilePath(savefilepath + currentViewer.Document.FileName + ".extract" + i.ToString() + ".pdf");
+                    string createfilepath= CommonHelper.CreateFilePath(saveSelectedPath + currentViewer.Document.FileName + ".extract" + i.ToString() + ".pdf");
                     extractdoc.WriteToFilePath(createfilepath);
                     extractdoc.Release();
                 }
@@ -118,7 +128,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             {
                 CPDFDocument extractdoc = CPDFDocument.CreateDocument();
                 extractdoc.ImportPages(currentViewer.Document, extractModel.PageRange);
-                string createfilepath = CommonHelper.CreateFilePath(savefilepath + currentViewer.Document.FileName + ".extract.pdf");
+                string createfilepath = CommonHelper.CreateFilePath(saveSelectedPath + currentViewer.Document.FileName + ".extract.pdf");
                 extractdoc.WriteToFilePath(createfilepath);
                 if (extractModel.DeleteAfterExtract)
                 {

+ 73 - 23
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageSplitDialogViewModel.cs

@@ -10,6 +10,8 @@ using System.Diagnostics;
 using PDF_Office.CustomControl;
 using PDF_Office.Model.HomePageToolsDialogs;
 using System.Linq;
+using System.Windows.Forms;
+using DialogResult = Prism.Services.Dialogs.DialogResult;
 
 namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 {
@@ -193,7 +195,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 
         }
         #region 逻辑函数
-        private void FileNameIsCheck()
+        private void FileNameIsCheck(string saveSelectedPath)
         {
 
             if (FileNameDeimiterIsCheck == "True")
@@ -205,23 +207,23 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
                 splitModel.FileNameDeimiter = "";
             }
 
-            if (FileNameDeimiterIsCheck == "True")
+            if (FileNameLabelIsCheck == "True")
             {
-                splitModel.FileNameDeimiter = FileNameDeimiterText;
+                splitModel.FileNameLabel = FileNameLabelText;
             }
             else
             {
-                splitModel.FileNameDeimiter = "";
+                splitModel.FileNameLabel = "";
             }
-            if (FileNameLabelIsCheck == "True")
+            if (FrontFileIsCheck == "True")
             {
                 splitModel.FrontFileName = true;
-                splitModel.FileName = (savefilepath + currentViewer.Document.FileName + splitModel.FileNameDeimiter + splitModel.FileNameLabel);
+                splitModel.FileName = (saveSelectedPath + currentViewer.Document.FileName + splitModel.FileNameDeimiter + splitModel.FileNameLabel);
             }
             else
             {
                 splitModel.FrontFileName = false;
-                splitModel.FileName = (savefilepath + splitModel.FileNameLabel + splitModel.FileNameDeimiter + currentViewer.Document.FileName);
+                splitModel.FileName = (saveSelectedPath + splitModel.FileNameLabel + splitModel.FileNameDeimiter + currentViewer.Document.FileName);
             }
         }
 
@@ -232,11 +234,19 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 
         private void split()
         {
-            FileNameIsCheck();
+            FolderBrowserDialog dlg = new FolderBrowserDialog();
+            string saveSelectedPath = "";
+            if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+            {
+                saveSelectedPath = dlg.SelectedPath.Trim();
+                saveSelectedPath = saveSelectedPath + "\\";
+            }
+            else { return; }
+            FileNameIsCheck(saveSelectedPath);
             if (splitModel.Mode == HomePageSplitDialogModel.SplitMode.CustomPageRange)
             {
                 HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref splitModel.PageRange, PageRangeText);
-                
+
                 if (splitModel.PageRange == "")
                 {
                     Trace.WriteLine("输入不对");
@@ -367,43 +377,69 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 
         private void frontFileName()
         {
+            string filenamelabeltext = "";
+            string filenamedeimitertext = "";
             if (FileNameLabelIsCheck == "False")
             {
-                FileNameLabelText = "";
+                filenamelabeltext = "";
+            }
+            else
+            {
+                filenamelabeltext = FileNameLabelText;
             }
             if (FileNameDeimiterIsCheck == "False")
-            { FileNameDeimiterText = ""; }
+            {
+                filenamedeimitertext = "";
+            }
+            else
+            {
+                filenamedeimitertext = FileNameDeimiterText;
+            }
             if (FrontFileIsCheck == "True")
             {
-                FilePathName = savefilename + FileNameDeimiterText + FileNameLabelText;
+                FilePathName = savefilename + filenamedeimitertext + filenamelabeltext;
                 splitModel.FrontFileName = true;
             }
             else
             {
                 splitModel.FrontFileName = false;
-                FilePathName = FileNameLabelText + FileNameDeimiterText + savefilename;
+                FilePathName = filenamelabeltext + filenamedeimitertext + savefilename;
             }
 
         }
 
         private void fileNameLabel()
         {
+            string filenamelabeltext = "";
+            string filenamedeimitertext = "";
+            if (FileNameLabelIsCheck == "False")
+            {
+                filenamelabeltext = "";
+            }
+            else
+            {
+                filenamelabeltext = FileNameLabelText;
+            }
             if (FileNameDeimiterIsCheck == "False")
             {
-                FileNameDeimiterText = "";
+                filenamedeimitertext = "";
+            }
+            else
+            {
+                filenamedeimitertext = FileNameDeimiterText;
             }
             if (FileNameLabelIsCheck == "True")
             {
                 FileNameLabelIsEnabled = "True";
                 if (FrontFileIsCheck == "True")
                 {
-                    FilePathName = savefilename + FileNameDeimiterText + FileNameLabelText;
+                    FilePathName = savefilename + filenamedeimitertext + filenamelabeltext;
                     splitModel.FrontFileName = true;
                 }
                 else
                 {
                     splitModel.FrontFileName = false;
-                    FilePathName = FileNameLabelText + FileNameDeimiterText + savefilename;
+                    FilePathName = filenamelabeltext + filenamedeimitertext + savefilename;
                 }
             }
             else
@@ -412,13 +448,13 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 
                 if (FrontFileIsCheck == "True")
                 {
-                    FilePathName = savefilename + FileNameDeimiterText;
+                    FilePathName = savefilename + filenamedeimitertext;
                     splitModel.FrontFileName = true;
                 }
                 else
                 {
                     splitModel.FrontFileName = false;
-                    FilePathName = FileNameDeimiterText + savefilename;
+                    FilePathName = filenamedeimitertext + savefilename;
                 }
             }
 
@@ -427,20 +463,34 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
         private void fileNameDeimiter()
         {
 
+            string filenamelabeltext = "";
+            string filenamedeimitertext = "";
             if (FileNameLabelIsCheck == "False")
             {
-                FileNameLabelText = "";
+                filenamelabeltext = "";
+            }
+            else
+            {
+                filenamelabeltext = FileNameLabelText;
+            }
+            if (FileNameDeimiterIsCheck == "False")
+            {
+                filenamedeimitertext = "";
+            }
+            else
+            {
+                filenamedeimitertext = FileNameDeimiterText;
             }
             if (FileNameDeimiterIsCheck == "True")
             {
                 FileNameDeimiterIsEnabled = "True";
                 if (FrontFileIsCheck == "True")
                 {
-                    FilePathName = savefilename + FileNameDeimiterText + FileNameLabelText;
+                    FilePathName = savefilename + filenamedeimitertext + filenamelabeltext;
                 }
                 else
                 {
-                    FilePathName = FileNameLabelText + FileNameDeimiterText + savefilename;
+                    FilePathName = filenamelabeltext + filenamedeimitertext + savefilename;
                 }
             }
             else
@@ -448,11 +498,11 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
                 FileNameDeimiterIsEnabled = "False";
                 if (FrontFileIsCheck == "True")
                 {
-                    FilePathName = savefilename + FileNameLabelText;
+                    FilePathName = savefilename + filenamelabeltext;
                 }
                 else
                 {
-                    FilePathName = FileNameLabelText + savefilename;
+                    FilePathName = filenamelabeltext + savefilename;
                 }
             }
         }