private async static Task PdfToImages(PdfViewer pdfViewer, PdfDocument pdfDoc) { var items = pdfViewer.PagesContainer.Items; items.Clear(); if (pdfDoc == null) { return; } for (uint i = 0; i < pdfDoc.PageCount; i++) { using (var page = pdfDoc.GetPage(i)) { var bitmap = await PageToBitmapAsync(page); var image = new Image { Source = bitmap, HorizontalAlignment = HorizontalAlignment.Center, Margin = new Thickness(0, 4, 0, 4), MaxWidth = 800 }; items.Add(image); } } }
private void OpenFileDialog_Click(object sender, RoutedEventArgs e) { OpenFileDialog openFile = new OpenFileDialog(); openFile.Filter = "Portable Document Format(*.pdf)|*.pdf|All files (*.*)|*.*"; FileInfo info; if (openFile.ShowDialog() == true) { info = new FileInfo(openFile.FileName); if (info.Extension != ".pdf") { MessageBox.Show("Can't open file"); return; } //pdfviewer.PdfPath = openFile.FileName; //Nếu file đã open foreach (System.Windows.Controls.TabItem item in TabController.Items) { var pdfviewer = item.Content as Controls.PdfViewer; if (pdfviewer.OriginalPdfPath == info.Name) { this.TabController.SelectedItem = item; MessageBox.Show("File is already opened!", "Quick PDF Editor", MessageBoxButton.OK, MessageBoxImage.Information); return; } } //Nếu File chưa Open System.Windows.Controls.TabItem tabItem = new System.Windows.Controls.TabItem(); tabItem.Header = info.Name; //Opened File Controls.PdfViewer pdfViewer = new Controls.PdfViewer(); pdfViewer.PdfPath = openFile.FileName; tabItem.Content = pdfViewer; this.TabController.Items.Add(tabItem); Dispatcher.BeginInvoke((Action)(() => this.TabController.SelectedIndex = this.TabController.Items.Count - 1)); } }