Convert PDF into specified Image height and width in C# and .NET


Working with PDF files in modern programming often requires not only reading or editing documents but also converting them to other formats. One common task is converting PDF pages into raster images, for example, for display on websites, creating thumbnails, or preparing for publication. In this article, we'll look at how to convert a PDF to an image with specific dimensions (height and width) using the PDF Focus .NET component of the powerful SautinSoft library — a powerful tool for working with PDFs on the .NET platform.

Image dimensions are typically important for:

  • Creating thumbnails for galleries and catalogs.
  • Optimizing the display of PDF pages on a website or in mobile apps.
  • Automating reports where slides or pages need to be inserted into presentations.
  • Generating images for machine learning, where specific data dimensions are important.

Setting the dimensions precisely as needed is essential in systems where correct display and performance are critical.

Converting PDFs to images with specific dimensions is a fairly common task in content management systems, document visualization systems, digital libraries, portfolios, reports, and presentations. Unlike simply converting an entire page without specifying a specific size, adapting it to interface requirements makes these tasks highly sought after by business logic developers.

Complete code

using System;
using System.IO;
using SkiaSharp;

namespace Sample
{
    class Sample
    {
        static void Main(string[] args)
        {
            // Before starting, we recommend to get a free key:
            // https://sautinsoft.com/start-for-free/
            
            // Apply the key here:
            // SautinSoft.PdfFocus.SetLicense("...");
			
            //Convert PDF into specified Image height & width
            SautinSoft.PdfFocus f = new SautinSoft.PdfFocus();
            
            // Set initial values
            string pdfPath = Path.GetFullPath(@"..\..\..\Potato Beetle.pdf");
            string imageFolder = new DirectoryInfo(Directory.GetCurrentDirectory()).CreateSubdirectory("Result").FullName;
            int width = 1600; // Width in Px
            int height = 1900; // Height in Px

            //Set image options
            f.ImageOptions.ImageFormat = SautinSoft.PdfFocus.CImageOptions.ImageFormats.Png;
            f.ImageOptions.Resize(new SKSize { Width = width, Height = height }, false);

            f.OpenPdf(pdfPath);
            if (f.PageCount > 0)
            {
                // Convert all pages to PNG images
                f.ToImages(imageFolder, "Page");

                //Show image
                System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(imageFolder) { UseShellExecute = true });
            }
        }
    }
}

Download

Imports System
Imports System.IO
Imports SkiaSharp

Namespace Sample
	Friend Class Sample
		Shared Sub Main(ByVal args() As String)
			' Before starting, we recommend to get a free key:
			' https://sautinsoft.com/start-for-free/

			' Apply the key here:
			' SautinSoft.PdfFocus.SetLicense("...");

			'Convert PDF into specified Image height & width
			Dim f As New SautinSoft.PdfFocus()

			' Set initial values
			Dim pdfPath As String = Path.GetFullPath("..\..\..\Potato Beetle.pdf")
			Dim imageFolder As String = (New DirectoryInfo(Directory.GetCurrentDirectory())).CreateSubdirectory("Result").FullName
			Dim width As Integer = 1600 ' Width in Px
			Dim height As Integer = 1900 ' Height in Px

			'Set image options
			f.ImageOptions.ImageFormat = SautinSoft.PdfFocus.CImageOptions.ImageFormats.Png
			f.ImageOptions.Resize(New SKSize With {
				.Width = width,
				.Height = height
			}, False)

			f.OpenPdf(pdfPath)
			If f.PageCount > 0 Then
				' Convert all pages to PNG images
				f.ToImages(imageFolder, "Page")

				'Show image
				System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(imageFolder) With {.UseShellExecute = True})
			End If
		End Sub
	End Class
End Namespace

Download


If you need a new code example or have a question: email us at support@sautinsoft.com or ask at Online Chat (right-bottom corner of this page) or use the Form below:


Captcha

Questions and suggestions from you are always welcome!

We are developing .Net components since 2002. We know PDF, DOCX, RTF, HTML, XLSX and Images formats. If you need any assistance with creating, modifying or converting documents in various formats, we can help you. We will write any code example for you absolutely free.