Introduction

PDF is important in Java applications because it allows developers to create and manipulate PDF documents in a platform-independent manner. The PDF format is widely used for storing and sharing documents, so being able to work with it is important for many Java applications that deal with document management or document-based workflows.

There are several ways to generate and print PDF files in Java. A common approach is to use a library that provides classes for creating and manipulating PDF documents. This How-to Guide will show how to use the IronPDF library to generate and print PDF files in Java applications.


IronPDF: Java PDF Library

IronPDF is a Java library that can be used to generate, manipulate, and convert PDF documents. It is based on the IronPDf C# .NET library, which provides a similar set of features for the .NET platform.

IronPDF provides a high-level API for working with PDF documents, allowing developers to work with PDF files without having to deal with the low-level details of the file type. It supports common PDF operations such as creating new documents, adding content, formatting text, and merging PDF files, and splitting PDF files.

IronPDF provides support for converting HTML, CSS, and JavaScript code to PDF, making it easy to generate PDF files from web pages or HTML templates. It also offers the option to print PDF documents.

Steps to Print a PDF Document Using IronPDF Java

Prerequisites

To print PDF files in Java, there are some prerequisites:

  1. Eclipse IDE or any other Java IDE
  2. A Maven Project running in Eclipse or in any other IDE
  3. A stable internet connection to install the IronPDF Java library

Install IronPDF Library in Maven Project

To install IronPDF in a Maven project, you need to add the IronPDF dependency to your project's pom.xml file.

Add the following dependencies to the <dependencies> section of the pom.xml file:

<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>YOUR_VERSION_HERE</version>
</dependency>
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>YOUR_VERSION_HERE</version>
</dependency>
XML

After adding the dependencies to the pom.xml file, run the mvn install command in the terminal, or press Ctrl+S to download and install IronPDF in your Maven project.

Before we can start using IronPDF, you must first import the IronPDF classes in the main App.java source file, as found in the src folder.

Java Print PDFs - Figure 1: Package explorer tree for ironpdf-java

Package Explorer Tree for IronPDF for Java

Open the "App.java" file and add the IronPDF package by using the following import statement.

import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.*;
JAVA

Load a PDF in a Java Application

IronPDF for Java provides a constructor for loading PDF content into the library. Valid arguments that this constructor can accept include a byte array and a file path. For password-protected documents, a third parameter containing the password for the PDF file can also be provided.

The code snippet below loads a PDF located on the filesystem.

// Set the license key for IronPDF
License.setLicenseKey("Enter-Your-License");  

// Load PDF from the filesystem
PdfDocument pdf = new PdfDocument(Paths.get("MyPdf.pdf"));
// Set the license key for IronPDF
License.setLicenseKey("Enter-Your-License");  

// Load PDF from the filesystem
PdfDocument pdf = new PdfDocument(Paths.get("MyPdf.pdf"));
JAVA

Print a PDF Document With Default Settings

IronPDF provides two ways to print PDF files. The first way is to print the document immediately using default printer and page settings. You can use the printWithoutDialog method to perform this action.

// Print PDF document using default printer settings without showing a print dialog
pdf.printWithoutDialog();
// Print PDF document using default printer settings without showing a print dialog
pdf.printWithoutDialog();
JAVA

The Print Dialog

The second way is to allow the user to specify printing options prior to printing. You can achieve this functionality using the print method.

// Display print dialog to let the user specify printing options
pdf.print();
// Display print dialog to let the user specify printing options
pdf.print();
JAVA

The print dialog window will appear when this method is invoked, allowing the user to change the printer, set paper size, change the number of copies, etc.

Java Print PDFs - Figure 2: Print dialog shown after running the program using print()

Print dialog shown after running the program using the print() method

Full Source Code

The complete source file used in this How-To Guide is below.

package IronPDF.ironpdf_java;

// Import statement for IronPDF Java
import com.ironsoftware.ironpdf.*;
import java.awt.print.PrinterException;
import java.io.IOException;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) throws PrinterException, IOException {
        // Apply your license key
        License.setLicenseKey("Enter-Your-License");

        // Load PDF document from the file system
        PdfDocument pdf = new PdfDocument(Paths.get("MyPdf.pdf"));

        // Print the PDF document without displaying a print dialog
        pdf.printWithoutDialog();

        // Display the print dialog for the user to configure printing options
        pdf.print();
    }
}
package IronPDF.ironpdf_java;

// Import statement for IronPDF Java
import com.ironsoftware.ironpdf.*;
import java.awt.print.PrinterException;
import java.io.IOException;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) throws PrinterException, IOException {
        // Apply your license key
        License.setLicenseKey("Enter-Your-License");

        // Load PDF document from the file system
        PdfDocument pdf = new PdfDocument(Paths.get("MyPdf.pdf"));

        // Print the PDF document without displaying a print dialog
        pdf.printWithoutDialog();

        // Display the print dialog for the user to configure printing options
        pdf.print();
    }
}
JAVA

Learn more about PDF Printing in Java using the IronPDF library.

Summary

In conclusion, IronPDF is a powerful and easy-to-use library for printing PDFs in Java applications. With its rich set of features and extensive documentation, IronPDF makes it simple to generate and customize professional-quality PDFs that can be printed or shared with others. Whether you need to create invoices, reports, or any other type of document, IronPDF has you covered.

IronPDF offers a free trial for testing in production. Pricing of IronPDF starts from $749. Give IronPDF a try and see how it can help you streamline your PDF printing workflow.

Frequently Asked Questions

What is IronPDF for Java?

IronPDF is a Java library used to generate, manipulate, and convert PDF documents. It supports common PDF operations such as creating new documents, adding content, formatting text, and more.

How do I install IronPDF in a Maven project?

To install IronPDF in a Maven project, add the IronPDF dependency to your project's pom.xml file under thesection and then run mvn install in the terminal.

How can I print PDF files using IronPDF in Java?

You can print PDF files using IronPDF by loading the PDF with the PdfDocument class and using either the printWithoutDialog method for default printing or the print method to display a print dialog with options.

What are the prerequisites for printing PDFs in Java with IronPDF?

Before printing PDFs with IronPDF in Java, you need a Java IDE like Eclipse, a Maven project, and an internet connection to install the IronPDF library.

Can IronPDF convert HTML to PDF in Java?

Yes, IronPDF supports converting HTML, CSS, and JavaScript to PDF, making it easy to generate PDFs from web pages or HTML templates.

How can I load a PDF document in IronPDF for Java?

You can load a PDF document in IronPDF for Java using the PdfDocument constructor, which accepts a file path or a byte array. For password-protected PDFs, a password can also be provided.

Does IronPDF offer a trial version?

Yes, IronPDF offers a free trial version for testing in production, allowing you to evaluate its features before purchasing a license.

What is the purpose of the printWithoutDialog method in IronPDF?

The printWithoutDialog method in IronPDF allows you to print PDF documents immediately using default printer settings without displaying a print dialog.

How can I customize printer settings before printing a PDF with IronPDF?

To customize printer settings, use the print method, which displays a print dialog for the user to select options like printer, paper size, and number of copies.

What are the main features of IronPDF for Java?

IronPDF for Java offers features such as creating and manipulating PDFs, converting HTML to PDFs, merging and splitting documents, and printing PDFs with customizable settings.

Darrius Serrant
Full Stack Software Engineer (WebOps)

Darrius Serrant holds a Bachelor’s degree in Computer Science from the University of Miami and works as a Full Stack WebOps Marketing Engineer at Iron Software. Drawn to coding from a young age, he saw computing as both mysterious and accessible, making it the perfect medium for creativity and problem-solving.

At Iron Software, Darrius enjoys creating new things and simplifying complex concepts to make them more understandable. As one of our resident developers, he has also volunteered to teach students, sharing his expertise with the next generation.

For Darrius, his work is fulfilling because it is valued and has a real impact.