using ComPDFKit_Conversion.Converter; 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 ConverterImgDialog /// public partial class ConverterImgDialog : UserControl { public ConverterImgDialog() { InitializeComponent(); } private void ConverterPreview_Loaded(object sender, System.Windows.RoutedEventArgs e) { ConverterPreview.document = ((ConverterImgDialogViewModel)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 = ((ConverterImgDialogViewModel)this.DataContext).PageRangeSelectIndex; var currentViewer = ((ConverterImgDialogViewModel)this.DataContext).currentViewer; string PageRange = ""; var PageRangeText = ((ConverterImgDialogViewModel)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 = ((ConverterImgDialogViewModel)this.DataContext).PageRangeSelectIndex; var currentViewer = ((ConverterImgDialogViewModel)this.DataContext).currentViewer; string PageRange = ""; var PageRangeText = ((ConverterImgDialogViewModel)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; } ((ConverterImgDialogViewModel)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 ImageTypeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { switch (ImageTypeComboBox.SelectedIndex) { case 0: ((ConverterImgDialogViewModel)this.DataContext).ConverterImgModel.Type = ImgType.JPEG; break; case 1: ((ConverterImgDialogViewModel)this.DataContext).ConverterImgModel.Type = ImgType.JPEG; break; case 2: ((ConverterImgDialogViewModel)this.DataContext).ConverterImgModel.Type = ImgType.PNG; break; case 3: ((ConverterImgDialogViewModel)this.DataContext).ConverterImgModel.Type = ImgType.JPEG; break; case 4: ((ConverterImgDialogViewModel)this.DataContext).ConverterImgModel.Type = ImgType.JPEG; break; case 5: ((ConverterImgDialogViewModel)this.DataContext).ConverterImgModel.Type = ImgType.JPEG; break; case 6: ((ConverterImgDialogViewModel)this.DataContext).ConverterImgModel.Type = ImgType.JPEG; break; case 7: ((ConverterImgDialogViewModel)this.DataContext).ConverterImgModel.Type = ImgType.JPEG; break; default: break; } } private void ImageDPIComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { switch (ImageDPIComboBox.SelectedIndex) { case 0: Trace.WriteLine("50"); break; case 1: Trace.WriteLine("72"); break; case 2: Trace.WriteLine("96"); break; case 3: Trace.WriteLine("150"); break; case 4: Trace.WriteLine("300"); break; case 5: Trace.WriteLine("600"); break; default: break; } } } }