- Demo
- C# source
- VB.Net source
The sample demonstrates how to export PDF pages as images by PdfDocumentViewer Component.
using System; using System.Drawing; using System.IO; using System.Windows.Forms; using Spire.PdfViewer.Forms; namespace Spire.PdfView.Demos.Export { class Program { private static PdfDocumentViewer viewer = null; [STAThread] static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); viewer = new PdfDocumentViewer(); viewer.LoadFromFile("PDFViewer.pdf"); //form and child components Form mainForm = new Form(); mainForm.Text = "Spire.PdfView Demo - Export"; mainForm.Size = new System.Drawing.Size(800, 600); mainForm.StartPosition = FormStartPosition.CenterScreen; TableLayoutPanel table = new TableLayoutPanel(); table.ColumnCount = 3; table.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50)); table.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 20)); table.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50)); table.RowCount = 2; table.RowStyles.Add(new RowStyle(SizeType.Percent, 100)); table.RowStyles.Add(new RowStyle(SizeType.Absolute, 30)); table.Controls.Add(viewer, 0, 0); table.SetColumnSpan(viewer, 3); viewer.Dock = DockStyle.Fill; //Export current page to one image Button button = new Button(); button.Text = "Export to one image"; button.Size = new Size(180, 24); button.TextAlign = ContentAlignment.MiddleCenter; table.Controls.Add(button, 0, 1); button.Dock = DockStyle.Right; button.Click += ExportToOneImage; //Export current pdf document to multiple images button = new Button(); button.Text = "Export to multiple images"; button.Size = new Size(180, 24); button.TextAlign = ContentAlignment.MiddleCenter; table.Controls.Add(button, 2, 1); button.Dock = DockStyle.Left; button.Click += ExportToMultipleImages; mainForm.Controls.Add(table); table.Dock = DockStyle.Fill; Application.Run(mainForm); } private static void ExportToOneImage(object sender, EventArgs e) { if (viewer.PageCount > 0) { SaveFileDialog dialog = new SaveFileDialog(); dialog.Filter = "PNG Format(*.png)|*.png"; if (dialog.ShowDialog() == DialogResult.OK) { int currentPage = viewer.CurrentPageNumber; Bitmap image = viewer.SaveAsImage(currentPage - 1); image.Save(dialog.FileName); } } } private static void ExportToMultipleImages(object sender, EventArgs e) { if (viewer.PageCount > 0) { FolderBrowserDialog dialog = new FolderBrowserDialog(); if (dialog.ShowDialog() == DialogResult.OK) { int currentPage = viewer.CurrentPageNumber; Bitmap[] images = viewer.SaveAsImage(0, currentPage - 1); for (int i = 0; i < images.Length; i++) { String fileName = Path.Combine(dialog.SelectedPath, String.Format("PDFViewer-{0}.png", i)); images[i].Save(fileName); } } } } } }
Imports System.Drawing Imports System.IO Imports System.Windows.Forms Imports Spire.PdfViewer.Forms Namespace Spire.PdfView.Demos.Export Friend NotInheritable Class Program Private Shared viewer As PdfDocumentViewer = Nothing _ Shared Sub Main() Application.EnableVisualStyles() Application.SetCompatibleTextRenderingDefault(False) viewer = New PdfDocumentViewer() viewer.LoadFromFile("PDFViewer.pdf") 'form and child components Dim mainForm As New Form() mainForm.Text = "Spire.PdfView Demo - Export" mainForm.Size = New System.Drawing.Size(800, 600) mainForm.StartPosition = FormStartPosition.CenterScreen Dim table As New TableLayoutPanel() table.ColumnCount = 3 table.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, 50)) table.ColumnStyles.Add(New ColumnStyle(SizeType.Absolute, 20)) table.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, 50)) table.RowCount = 2 table.RowStyles.Add(New RowStyle(SizeType.Percent, 100)) table.RowStyles.Add(New RowStyle(SizeType.Absolute, 30)) table.Controls.Add(viewer, 0, 0) table.SetColumnSpan(viewer, 3) viewer.Dock = DockStyle.Fill 'Export current page to one image Dim button As New Button() button.Text = "Export to one image" button.Size = New Size(180, 24) button.TextAlign = ContentAlignment.MiddleCenter table.Controls.Add(button, 0, 1) button.Dock = DockStyle.Right AddHandler button.Click, AddressOf ExportToOneImage 'Export current pdf document to multiple images button = New Button() button.Text = "Export to multiple images" button.Size = New Size(180, 24) button.TextAlign = ContentAlignment.MiddleCenter table.Controls.Add(button, 2, 1) button.Dock = DockStyle.Left AddHandler button.Click, AddressOf ExportToMultipleImages mainForm.Controls.Add(table) table.Dock = DockStyle.Fill Application.Run(mainForm) End Sub Private Shared Sub ExportToOneImage(ByVal sender As Object, ByVal e As EventArgs) If viewer.PageCount > 0 Then Dim dialog As New SaveFileDialog() dialog.Filter = "PNG Format(*.png)|*.png" If dialog.ShowDialog() = DialogResult.OK Then Dim currentPage As Integer = viewer.CurrentPageNumber Dim image As Bitmap = viewer.SaveAsImage(currentPage - 1) image.Save(dialog.FileName) End If End If End Sub Private Shared Sub ExportToMultipleImages(ByVal sender As Object, ByVal e As EventArgs) If viewer.PageCount > 0 Then Dim dialog As New FolderBrowserDialog() If dialog.ShowDialog() = DialogResult.OK Then Dim currentPage As Integer = viewer.CurrentPageNumber Dim images As Bitmap() = viewer.SaveAsImage(0, currentPage - 1) For i As Integer = 0 To images.Length - 1 Dim fileName As [String] = Path.Combine(dialog.SelectedPath, [String].Format("PDFViewer-{0}.png", i)) images(i).Save(fileName) Next End If End If End Sub End Class End Namespace