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 });
}
}
}
}
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
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: