Blog Post

How to Print a PDF in C# with PSPDFKit

Olivier Houssin
Illustration: How to Print a PDF in C# with PSPDFKit

In this post, you’ll learn how to use PSPDFKit’s GdPicture.NET library to print PDFs for your C# application.

To get started, you’ll set up a new C# project and open a project in Visual Studio. Then, you’ll learn how to print a PDF using the PSPDFKit GdPicture.NET library in your project.

PSPDFKit’s C# .NET PDF Library

PSPDFKit’s GdPicture.NET library is a complete SDK that supports:

GdPicture.NET also supports more than 100 file formats and abstracts all of its powerful features behind a rich, cross-platform, and easy-to-use API to maximize developer productivity.


To get started, you’ll need the following:

  • Visual Studio — The official integrated development environment for C# .NET.

Getting Started with PSPDFKit

The next sections will provide you with information on how to first create a new project and then prepare a PDF for printing using C#.

Creating a New Project

  1. Open Visual Studio and create a new project. Then specify your project requirements.

  2. Choose the correct template for your project. For this example, you’ll use Console App.

Image showing a menu in Visual Studio that lets user choose a template

  1. When prompted, choose your project name (PSPDFKit PDF Demo), select the location where you want to save the project, and press Next. Then select the target .NET framework.

Image showing to add a name and location

  1. Click Create to create your project at your preferred save location.

Adding PSPDFKit’s PDF Library to Your Project

  1. Add the PSPDFKit GdPicture library from the NuGet solution manager. Select the project and install that library into the project.

Image showing to add a GdPicture from the NuGet solution manager

  1. Add the PSPDFKit dependency in the Program.cs file using GdPicture14.

Building the Project

Once you’ve added the libraries mentioned above into the project and added the library reference into the current file, build the project and ensure that all solutions build successfully.

Printing a PDF Document

Next, you’ll open a PDF file from the device’s local storage using the following code:

using GdPicturePDF gdpicturePDF = new GdPicturePDF();
// Load the source document.
// Store the handle of the active window in a variable.
IntPtr WINDOW_HANDLE = IntPtr.Zero;
// Enable the printer settings dialog.
// Print the document.
// Release unnecessary resources.

The code above will first create the GdPicturePDF object, and based on that, the file will be opened. If the file is opened successfully, the active window will be handled in the WINDOW_HANDLE variable. Then, call the PrintShowPrinterSettingsDialog function using the GdPicturePDF object.

Afterward, call the print function to print the loaded PDF to the PDF viewer tool or browser. The output of the code above is shown in the following image.

Image showing the solution of the above code

Printing an Image

The GdPictureImaging class will display the images and then print for you. Below is the code for viewing the file using the GdPictureImaging class:

using GdPictureImaging gdpictureImaging = new GdPictureImaging();
// Load the source image.
int imageId = gdpictureImaging.CreateGdPictureImageFromFile(@"C:\temp\source.png");
// Store the handle of the active window in a variable.
IntPtr WINDOW_HANDLE = IntPtr.Zero;
// Enable the printer settings dialog.
// Print the image.
// Release unnecessary resources.


This post demonstrated how to print a PDF in C# using PSPDFKit’s GdPicture.NET library. If you hit any snags, don’t hesitate to reach out to our Support team for help.

At PSPDFKit, we offer a commercial, feature-rich, and completely customizable web PDF library that’s easy to integrate and comes with well-documented APIs to handle advanced use cases. Try it for free, or visit our demo to see it in action.

Olivier Houssin Fullstack & Software Developer

Once upon a time, in the bustling world of code, there emerged a fullstack and software developer named Oli. Since joining us in 2020, Oli has been tinkering away, especially with POCs, and he has a special knack for all things .NET. When Oli isn't busy coding up a storm, you'll likely find him belting out tunes at a karaoke party or exploring the great outdoors on a hike. And let's not forget his love for cats — because every great developer needs a purring companion!

Related Products
Share Post
Free 60-Day Trial Try PSPDFKit in your app today.
Free Trial