|
@@ -1,4 +1,5 @@
|
|
|
-using ComPDFKit.PDFDocument;
|
|
|
+using ComDocumentAIKit;
|
|
|
+using ComPDFKit.PDFDocument;
|
|
|
using ComPDFKit_Conversion.Converter;
|
|
|
using Microsoft.Office.Interop.Excel;
|
|
|
using Microsoft.Office.Interop.Word;
|
|
@@ -29,7 +30,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
|
|
|
{
|
|
|
#region 参数和属性
|
|
|
private List<string> fileNames;
|
|
|
-
|
|
|
+ public HomePageConverterDialogModel ConverterDialogModel = new HomePageConverterDialogModel();
|
|
|
public HomePageConverterCSVModel ConverterCSVModel = new HomePageConverterCSVModel();
|
|
|
public HomePageConverterExcelModel ConverterExcelModel = new HomePageConverterExcelModel();
|
|
|
public HomePageConverterHTMLModel ConverterHTMLModel = new HomePageConverterHTMLModel();
|
|
@@ -60,9 +61,9 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
|
|
|
this.ConverterTypeFamily.Add("Excel");
|
|
|
this.ConverterTypeFamily.Add("PPT");
|
|
|
this.ConverterTypeFamily.Add("RTF");
|
|
|
+ this.ConverterTypeFamily.Add("CSV");
|
|
|
this.ConverterTypeFamily.Add("HTML");
|
|
|
this.ConverterTypeFamily.Add("Text");
|
|
|
- this.ConverterTypeFamily.Add("CSV");
|
|
|
this.ConverterTypeFamily.Add("Img");
|
|
|
}
|
|
|
|
|
@@ -173,6 +174,40 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private Visibility oCRVisibility = Visibility.Visible;
|
|
|
+ public Visibility OCRVisibility
|
|
|
+ {
|
|
|
+ get { return oCRVisibility; }
|
|
|
+ set
|
|
|
+ {
|
|
|
+ SetProperty(ref oCRVisibility, value);
|
|
|
+ RaisePropertyChanged();
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private bool oCRCheckBoxIsCheckBox = false;
|
|
|
+ public bool OCRCheckBoxIsCheckBox
|
|
|
+ {
|
|
|
+ get { return oCRCheckBoxIsCheckBox; }
|
|
|
+ set
|
|
|
+ {
|
|
|
+ SetProperty(ref oCRCheckBoxIsCheckBox, value);
|
|
|
+ ConverterDialogModel.Options.IsAllowOCR = oCRCheckBoxIsCheckBox;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private int languageSelectedIndex = 0;
|
|
|
+ public int LanguageSelectedIndex
|
|
|
+ {
|
|
|
+ get { return languageSelectedIndex; }
|
|
|
+ set
|
|
|
+ {
|
|
|
+ SetProperty(ref languageSelectedIndex, value);
|
|
|
+ SelectLanguage(languageSelectedIndex);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
#endregion
|
|
|
|
|
|
#region 委托声明
|
|
@@ -219,6 +254,33 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
|
|
|
pageIndex.ToString();
|
|
|
}
|
|
|
|
|
|
+ private void SelectLanguage(int SelectedIndex)
|
|
|
+ {
|
|
|
+
|
|
|
+ switch (SelectedIndex)
|
|
|
+ {
|
|
|
+ case 0:
|
|
|
+ ConverterDialogModel.Options.OCRLanguage = COCRLanguage.Chinese;
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ ConverterDialogModel.Options.OCRLanguage = COCRLanguage.ChineseTraditional;
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ ConverterDialogModel.Options.OCRLanguage = COCRLanguage.English;
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ ConverterDialogModel.Options.OCRLanguage = COCRLanguage.Japanese;
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ ConverterDialogModel.Options.OCRLanguage = COCRLanguage.Korean;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
private async void convert()
|
|
|
{
|
|
|
HomePageBatchProcessingDialogModel.closeDialog = true;
|
|
@@ -288,55 +350,68 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
|
|
|
case 0:
|
|
|
if (ConverterWordModel != null)
|
|
|
{
|
|
|
+ ConverterWordModel.Options.OCRLanguage = ConverterDialogModel.Options.OCRLanguage;
|
|
|
+ ConverterWordModel.Options.IsAllowOCR = ConverterDialogModel.Options.IsAllowOCR;
|
|
|
+
|
|
|
PageNumber = ConverterWordModel.PageIndexLists.Count().ToString();
|
|
|
- result = await ConverterHelper.WordConvert(filename, OutputPath, GetProgress, PageIndexLists, DocPassword);
|
|
|
+ result = await ConverterHelper.WordConvert(filename, OutputPath, GetProgress, PageIndexLists, DocPassword,ConverterWordModel.WordOptions());
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
case 1:
|
|
|
if (ConverterExcelModel != null)
|
|
|
{
|
|
|
+ ConverterExcelModel.Options.OCRLanguage = ConverterDialogModel.Options.OCRLanguage;
|
|
|
+ ConverterExcelModel.Options.IsAllowOCR = ConverterDialogModel.Options.IsAllowOCR;
|
|
|
PageNumber = ConverterExcelModel.PageIndexLists.Count().ToString();
|
|
|
- result = await ConverterHelper.ExcelConvert(filename, OutputPath, GetProgress, PageIndexLists, DocPassword, ConverterExcelModel.excelOptions);
|
|
|
+ result = await ConverterHelper.ExcelConvert(filename, OutputPath, GetProgress, PageIndexLists, DocPassword, ConverterExcelModel.ExcelOptions());
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
|
|
|
if (ConverterPPTModel != null)
|
|
|
{
|
|
|
+ ConverterPPTModel.Options.OCRLanguage = ConverterDialogModel.Options.OCRLanguage;
|
|
|
+ ConverterPPTModel.Options.IsAllowOCR = ConverterDialogModel.Options.IsAllowOCR;
|
|
|
PageNumber = ConverterPPTModel.PageIndexLists.Count().ToString();
|
|
|
- result = await ConverterHelper.PPTConvert(filename, OutputPath, GetProgress, PageIndexLists, DocPassword);
|
|
|
+ result = await ConverterHelper.PPTConvert(filename, OutputPath, GetProgress, PageIndexLists, DocPassword,ConverterPPTModel.PPTOptions());
|
|
|
}
|
|
|
break;
|
|
|
case 3:
|
|
|
|
|
|
if (ConverterRTFModel != null)
|
|
|
{
|
|
|
+ ConverterPPTModel.Options.OCRLanguage = ConverterDialogModel.Options.OCRLanguage;
|
|
|
+ ConverterPPTModel.Options.IsAllowOCR = ConverterDialogModel.Options.IsAllowOCR;
|
|
|
PageNumber = ConverterRTFModel.PageIndexLists.Count().ToString();
|
|
|
result = await ConverterHelper.RTFConvert(filename, OutputPath, GetProgress, PageIndexLists, DocPassword);
|
|
|
}
|
|
|
break;
|
|
|
- case 4:
|
|
|
+ case 5:
|
|
|
|
|
|
if (ConverterHTMLModel != null)
|
|
|
{
|
|
|
+ ConverterHTMLModel.Options.OCRLanguage = ConverterDialogModel.Options.OCRLanguage;
|
|
|
+ ConverterHTMLModel.Options.IsAllowOCR = ConverterDialogModel.Options.IsAllowOCR;
|
|
|
PageNumber = ConverterHTMLModel.PageIndexLists.Count().ToString();
|
|
|
result = await ConverterHelper.HTMLConvert(filename, OutputPath, GetProgress, PageIndexLists, DocPassword, ConverterHTMLModel.HTMLOptions());
|
|
|
}
|
|
|
break;
|
|
|
- case 5:
|
|
|
+ case 6:
|
|
|
|
|
|
if (ConverterTextModel != null)
|
|
|
{
|
|
|
+ ConverterTextModel.Options.OCRLanguage = ConverterDialogModel.Options.OCRLanguage;
|
|
|
+ ConverterTextModel.Options.IsAllowOCR = ConverterDialogModel.Options.IsAllowOCR;
|
|
|
PageNumber = ConverterTextModel.PageIndexLists.Count().ToString();
|
|
|
- result = await ConverterHelper.TxtConvert(filename, OutputPath, GetProgress, PageIndexLists, DocPassword);
|
|
|
+ result = await ConverterHelper.TxtConvert(filename, OutputPath, GetProgress, PageIndexLists, DocPassword, ConverterTextModel.TxtOptions());
|
|
|
}
|
|
|
break;
|
|
|
- case 6:
|
|
|
+ case 4:
|
|
|
if (ConverterCSVModel != null)
|
|
|
{
|
|
|
PageNumber = ConverterCSVModel.PageIndexLists.Count().ToString();
|
|
|
- result = await ConverterHelper.CSVConvert(filename, OutputPath, GetProgress, PageIndexLists, DocPassword);
|
|
|
+ result = await ConverterHelper.CSVConvert(filename, OutputPath, GetProgress, PageIndexLists, DocPassword, ConverterCSVModel.CSVOptions());
|
|
|
}
|
|
|
break;
|
|
|
case 7:
|
|
@@ -344,7 +419,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
|
|
|
if (ConverterImgModel != null)
|
|
|
{
|
|
|
PageNumber = ConverterImgModel.PageIndexLists.Count().ToString();
|
|
|
- result = await ConverterHelper.ImgConvert(filename, OutputPath, GetProgress, PageIndexLists, DocPassword, ConverterImgModel.imageType);
|
|
|
+ result = await ConverterHelper.ImgConvert(filename, OutputPath, GetProgress, PageIndexLists, DocPassword, ConverterImgModel.imageType, ConverterImgModel.ImgOptions());
|
|
|
}
|
|
|
break;
|
|
|
default:
|
|
@@ -636,7 +711,14 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
|
|
|
ConverterTypeIndex=index;
|
|
|
NavigationParameters param = new NavigationParameters();
|
|
|
param.Add(ParameterNames.ViewContentViewModel, this);
|
|
|
- if (index == 0 || index == 1 || index == 6 || index == 7)
|
|
|
+ if (index == 7 || index == 4)
|
|
|
+ {
|
|
|
+ OCRVisibility = Visibility.Hidden;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ OCRVisibility = Visibility.Visible;
|
|
|
+ }
|
|
|
+ if (index == 0 || index == 1 || index == 4 || index == 7)
|
|
|
{
|
|
|
ConverterVisible = Visibility.Collapsed;
|
|
|
ConverterRegion.RequestNavigate(ConverterRegionName, HomePageConverterDialogModel.GetConverter[index], param);
|