using ComPDFKit_Conversion.Options; using PDF_Office.CustomControl; using PDF_Office.Helper; using PDF_Office.ViewModels.Dialog.ConverterDialogs; using System.Diagnostics; using System.Linq; using System.Windows; using System.Windows.Controls; namespace PDF_Office.Views.Dialog.ConverterDialogs { /// /// Interaction logic for ConverterExcelDialog /// public partial class ConverterExcelDialog : UserControl { public ConverterExcelDialog() { InitializeComponent(); } private void ConverterPreview_Loaded(object sender, System.Windows.RoutedEventArgs e) { ConverterPreview.document = ((ConverterExcelDialogViewModel)this.DataContext).currentViewer.Document; char[] enumerationSeparator = new char[] { ',' }; char[] rangeSeparator = new char[] { '-' }; if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, "1-" + ConverterPreview.document.PageCount.ToString(), ConverterPreview.document.PageCount, enumerationSeparator, rangeSeparator)) { //TODO Trace.WriteLine("输入不对"); MessageBoxEx.Show("输入不对"); return; } ConverterPreview.AwaitRenderBitmap(ConverterPreview.document); ConverterPreview.PageIndex.Text = ConverterPreview.document.PageCount.ToString(); } private void PageRangeComboBox_Loaded(object sender, RoutedEventArgs e) { PageRangeComboBox.CurrentPage = true; if (PageRangeComboBox.CurrentPage) { ComboBoxItem comboBoxItem = new ComboBoxItem(); comboBoxItem.Content = "当前页面"; PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem); } PageRangeComboBox.writableComboBox.SelectionChanged += PageRangeComboBox_SelectionChanged; PageRangeComboBox.writableTextBox.TextChanged += WritableTextBox_TextChanged; } private void WritableTextBox_TextChanged(object sender, TextChangedEventArgs e) { string PageRangeSelectIndex = ((ConverterExcelDialogViewModel)this.DataContext).PageRangeSelectIndex; var currentViewer = ((ConverterExcelDialogViewModel)this.DataContext).currentViewer; string PageRange = ""; var PageRangeText = ((ConverterExcelDialogViewModel)this.DataContext).PageRangeText; HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true); char[] enumerationSeparator = new char[] { ',' }; char[] rangeSeparator = new char[] { '-' }; if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator)) { //TODO ConverterPreview.PageIndexLists.Add(0); return; } else { ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last() + 1).ToString(); ConverterPreview.CurrentIndex = 0; ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString(); ConverterPreview.AwaitRenderBitmap(ConverterPreview.document); } } private void PageRangeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { string PageRangeSelectIndex = ((ConverterExcelDialogViewModel)this.DataContext).PageRangeSelectIndex; var currentViewer = ((ConverterExcelDialogViewModel)this.DataContext).currentViewer; string PageRange = ""; var PageRangeText = ((ConverterExcelDialogViewModel)this.DataContext).PageRangeText; if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3") { HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true); char[] enumerationSeparator = new char[] { ',' }; char[] rangeSeparator = new char[] { '-' }; if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator)) { //TODO Trace.WriteLine("输入不对"); MessageBoxEx.Show("输入不对"); return; } } if (PageRangeSelectIndex == "1") { char[] enumerationSeparator = new char[] { ',' }; char[] rangeSeparator = new char[] { '-' }; if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString(), currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator)) { //TODO Trace.WriteLine("输入不对"); MessageBoxEx.Show("输入不对"); return; } ((ConverterExcelDialogViewModel)this.DataContext).CurrentPageIndex = (ConverterPreview.PageIndexLists.Last() + 1).ToString(); } ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last() + 1).ToString(); ConverterPreview.CurrentIndex = 0; ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString(); ConverterPreview.AwaitRenderBitmap(ConverterPreview.document); } private void OnlyTableComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { switch (OnlyTableComboBox.SelectedIndex) { case 0: ((ConverterExcelDialogViewModel)this.DataContext).ConverterExcelModel.excelOption = ((ConverterExcelDialogViewModel)this.DataContext).ConverterExcelModel.ExcelOptions(WorksheetOptions.ForEachTable, ContentOptions.OnlyTable); break; case 1: ((ConverterExcelDialogViewModel)this.DataContext).ConverterExcelModel.excelOption = ((ConverterExcelDialogViewModel)this.DataContext).ConverterExcelModel.ExcelOptions(WorksheetOptions.ForEachPage, ContentOptions.OnlyTable); break; case 2: ((ConverterExcelDialogViewModel)this.DataContext).ConverterExcelModel.excelOption = ((ConverterExcelDialogViewModel)this.DataContext).ConverterExcelModel.ExcelOptions(WorksheetOptions.ForTheDocument, ContentOptions.OnlyTable); break; default: break; } } } }