USING IRONPDF FOR JAVA

How to Convert PNG to PDF in Java (Tutorial)

This article will use IronPDF for Java library to create PDF documents from image file formats programmatically.

IronPDF - A Java Library

Iron Software engineers have now developed IronPDF Library for Java, which helps Java developers create new documents, edit, write, resize, and manipulate PDF documents. IronPDF allows working with every aspect of a PDF file or PDF conversion. It provides developers with a wide range of features for creating and customizing PDFs in Java. It also helps control the layout and formatting of PDFs.

IronPDF for Java is built on the capabilities of the .NET Framework, making it a versatile tool for working with PDFs compared to other open-source libraries. In addition to creating and manipulating PDFs, it primarily helps convert images and HTML files to PDF and other file formats as well.

Steps to Convert PNG to PDF in Java

Prerequisites

To create a PNG to PDF conversion application, you will need the following prerequisites downloaded and installed:

  1. Java Development Kit (JDK): The latest version of JDK must be installed on your computer to compile and run the convert PNG to PDF application. The JDK can be downloaded from the Oracle website.
  2. Maven: Maven needs to be installed as it is a build automation tool used primarily for Java projects. Maven can be downloaded from the Apache Maven website.
  3. IronPDF Java Library: Now you will need the latest version of IronPDF added as a dependency to your PNG to PDF conversion project. Add the following IronPDF dependency to your project's pom.xml file:

    <dependency>
      <groupId>com.ironsoftware</groupId>
      <artifactId>ironpdf-java</artifactId>
      <version>VERSION_NUMBER</version>
    </dependency>
    <dependency>
      <groupId>com.ironsoftware</groupId>
      <artifactId>ironpdf-java</artifactId>
      <version>VERSION_NUMBER</version>
    </dependency>
    XML
  4. You will also need to add the Slf4j dependency in the pom.xml file.

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>2.0.5</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>2.0.5</version>
    </dependency>
    XML

Once all the prerequisites are downloaded and installed, the project can now be used to convert PNG images to PDF documents in Java applications.

Add Imports to Java Main File

First of all, you will need the following imports for converting PNG images to PDF files using IronPDF in your Java application.

import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.*;
import java.util.ArrayList;
import java.util.List;
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.*;
import java.util.ArrayList;
import java.util.List;
JAVA

Once the imports are added, you are good to go with the image-to-PDF conversion.

Convert Single PNG to PDF File

IronPDF helps developers convert a single PNG or JPG image to a PDF file with a few simple steps. The Java code snippet is shown in the following example:

// Create a list to hold the path of the image to be converted
List<Path> paths = new ArrayList<>();
paths.add(Paths.get("example.png")); // Add image path to the list

// Create a PDF document from the image and save the PDF
PdfDocument.fromImage(paths).saveAs(Paths.get("example.pdf"));
// Create a list to hold the path of the image to be converted
List<Path> paths = new ArrayList<>();
paths.add(Paths.get("example.png")); // Add image path to the list

// Create a PDF document from the image and save the PDF
PdfDocument.fromImage(paths).saveAs(Paths.get("example.pdf"));
JAVA

Here, you first need to get the path of the image file that you are trying to convert to PDF. Then, you add that image path to a List and call the fromImage method. Finally, call the saveAs method to save the converted PNG file to the filesystem.

Convert Multiple PNGs into a PDF File

IronPDF also allows developers to combine multiple PNG or JPG images into a single PDF document, as shown in the following code example.

// Define the directory containing images to convert
Path imageDirectory = Paths.get("assets/images");

// Create an empty List to hold image Paths
List<Path> imageFiles = new ArrayList<>();

// Populate the List with images' paths from the directory using DirectoryStream
try (DirectoryStream<Path> stream = Files.newDirectoryStream(imageDirectory, "*.{png, jpg, gif}")) {
    for (Path entry : stream) {
        imageFiles.add(entry); // Add image file path to the list
    }

    // Create a PDF document from all images and save it
    PdfDocument.fromImage(imageFiles).saveAs(Paths.get("multiple_images.pdf"));
} catch (IOException exception) {
    throw new RuntimeException(String.format("Error converting images to PDF from directory: %s: %s",
            imageDirectory,
            exception.getMessage()),
            exception);
}
// Define the directory containing images to convert
Path imageDirectory = Paths.get("assets/images");

// Create an empty List to hold image Paths
List<Path> imageFiles = new ArrayList<>();

// Populate the List with images' paths from the directory using DirectoryStream
try (DirectoryStream<Path> stream = Files.newDirectoryStream(imageDirectory, "*.{png, jpg, gif}")) {
    for (Path entry : stream) {
        imageFiles.add(entry); // Add image file path to the list
    }

    // Create a PDF document from all images and save it
    PdfDocument.fromImage(imageFiles).saveAs(Paths.get("multiple_images.pdf"));
} catch (IOException exception) {
    throw new RuntimeException(String.format("Error converting images to PDF from directory: %s: %s",
            imageDirectory,
            exception.getMessage()),
            exception);
}
JAVA

The fromImage method in the above code can also accept a list of PNG image path objects. Each path object references a valid path to an image stored locally. In this case, the images are from the same directory, so a DirectoryStream found in java.nio.file classes is used to build up a list of all the images contained in the directory.

Now, the fromImage method will render each PNG or JPG image present in the list on a separate page of the PDF document. Finally, use the saveAs method to save the converted images to the multiple_images.pdf output.

After running the project with any of the above code examples, the output is generated in PDF file format. Here, the output shown is from the "Convert PNG to PDF" Multiple Images.

How to Convert PNG to PDF in Java (Tutorial), Figure 1: PNG to PDF Output

PNG to PDF Output

You can check further code examples on image conversion with IronPDF and also download IronPDF for Java from the IronPDF Official Website.

How to Convert PNG to PDF in Java (Tutorial), Figure 2: IronPDF for Java IronPDF for Java

IronPDF has a great quality of rendering all images and text without losing any format. Form components in PDFs are also editable in the converted PDF file.

Summary

This article demonstrates how to generate PDFs using the convert image to PDF feature of IronPDF. In conclusion, IronPDF is a powerful library developed for Java developers to work with the PDF file format. It allows developers to easily create PDF documents from Multiple Images from scratch. It also supports XML documents to PDF along with HTML and image files. IronPDF is a great PDF API that helps Software Engineers extract and write content from PDF files.

IronPDF for Java is free to use, but for deployment purposes, it has a commercial license starting from $liteLicense. You can also access the free trial of the full version of IronPDF to test its functionality in production mode.

Frequently Asked Questions

What is IronPDF for Java?

IronPDF for Java is a library that allows Java developers to create, edit, write, resize, and manipulate PDF documents. It provides various features for creating and customizing PDFs, including converting images and HTML files to PDF.

How can I convert a single PNG to PDF using IronPDF in Java?

You can convert a single PNG to a PDF by using the 'fromImage' method of IronPDF. First, add the path of the PNG image to a list, then call the 'fromImage' method with this list. Finally, use the 'saveAs' method to save the PDF.

Can IronPDF convert multiple PNG images into a single PDF document?

Yes, IronPDF can convert multiple PNG images into a single PDF document. You need to create a list of image paths and pass it to the 'fromImage' method. The method will render each image on a separate page of the PDF.

What are the prerequisites for using IronPDF to convert PNG to PDF in Java?

To use IronPDF for converting PNG to PDF, you need to have the Java Development Kit (JDK), Maven, and the IronPDF Java Library installed. Additionally, you need to add the IronPDF and Slf4j dependencies to your project's pom.xml file.

How do I install the IronPDF Java Library?

You can install the IronPDF Java Library by adding it as a dependency in your project's pom.xml file. Include the IronPDF dependency with the appropriate version number.

Is IronPDF for Java free to use?

IronPDF for Java is free to use for development, but it requires a commercial license for deployment. A free trial of the full version is available for testing its functionality in production mode.

What are some additional features of IronPDF for Java?

Besides converting images to PDF, IronPDF for Java supports creating PDF documents from XML and HTML files. It also allows developers to extract and write content from PDF files and edit form components in PDFs.

Where can I download the latest version of the Java Development Kit (JDK)?

The latest version of the JDK can be downloaded from the Oracle website.

What is the purpose of Maven in a Java project?

Maven is a build automation tool used primarily for Java projects. It helps in managing project builds, dependencies, and documentation.

How does IronPDF handle image rendering in PDFs?

IronPDF renders all images and text without losing any format. It ensures high-quality rendering of images into the PDF document.

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.

< PREVIOUS
How to Rotate PDF File in Java
NEXT >
How to Create a Table in a PDF Document Using Java (Tutorial)

Install with Maven

Version: 2025.6.5

<dependency>
  <groupId>com.ironsoftware</groupId>
  <artifactId>ironpdf</artifactId>
  <version>2025.6.5</version>
</dependency>