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);
                }
            }
        }
示例#2
0
        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));
            }
        }