New to Telerik UI for WinFormsStart a free 30-day trial

How to Export Each Page as an Image in PDF Documents

Updated over 6 months ago

Environment

Product VersionProductAuthor
2023.3.1114RadPdfViewer for WinFormsDesislava Yordanova

Description

RadPdfViewer in the Telerik UI for WinForms suite is purposed to display PDF files. However, a common requirement is to extract each page from the loaded document as an image without displaying the control or any UI. This article demonstrates a sample approach how to generate the images for each page using the public API that RadPdfViewer offers.

Exported Pages as Images

export-page-images-in-pdf-document001

Solution

RadPdfViewer exposes two methods that allow you to export a single page or the entire document to an image:

  • ExportPage: Exports the specified page to an image.
  • ExportPages: Exports the entire document to an image.

The ExportPage method will be used in the following code snippet:

C#

static void Main(string[] args)
{
    Telerik.WinControls.UI.RadPdfViewer rViewer = new Telerik.WinControls.UI.RadPdfViewer();
    rViewer.DocumentLoaded += RViewer_DocumentLoaded;
    rViewer.LoadDocument(@"..\..\WinForms PdfViewer.pdf");
    rViewer.LoadElementTree();
    System.Windows.Forms.Application.DoEvents();
}
private static void RViewer_DocumentLoaded(object sender, System.EventArgs e)
{
    string filePath = @"..\..\page";
    Telerik.WinControls.UI.RadPdfViewerElement pdfViewerElement = sender as Telerik.WinControls.UI.RadPdfViewerElement;
    if (pdfViewerElement != null)
    {
        for (int i = 0; i < pdfViewerElement.Document.Pages.Count; i++)
        {
            System.Drawing.Image imagePage = pdfViewerElement.ExportPage(i, 1, true, System.Drawing.Imaging.ImageFormat.Jpeg);
            imagePage.Save(filePath + i + ".jpg");
        }
    }
}
        

Required Assembly References

  • System.Windows.Forms

  • Telerik.WinControls

  • Telerik.WinControls.PdfViewer

  • Telerik.WinControls.UI

  • Telerik.Windows.Documents.Core

  • Telerik.Windows.Documents.Fixed