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.
How to Convert PNG to PDF in Java
- Install IronPDF Java Library to Convert PNG to PDF
- Utilize
fromImage
method to convert PNG to PDF in Java - Pass a Single File Path into the Method to Convert One PNG
- Pass a List of File Paths to Convert Multiple PNGs into a Single PDF
- Export the Generated PDF to the Desired Location
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:
- 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.
- 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.
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>
XMLYou 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;
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"));
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);
}
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.
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.
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
How can I convert a PNG image to PDF in Java?
You can convert a PNG image to a PDF in Java using IronPDF's fromImage
method. First, add the image path to a list and pass it to the method. Then, save the output using the saveAs
method.
Can I convert multiple PNG images to a single PDF using Java?
Yes, IronPDF allows you to convert multiple PNG images into a single PDF document. Use a DirectoryStream
to gather image paths from a directory and pass them to the fromImage
method.
What steps are needed to convert PNG files to PDF in Java?
To convert PNG files to PDF using IronPDF, install the Java Development Kit (JDK), Maven, and add IronPDF to your project's dependencies. Use the fromImage
method to convert images and saveAs
to save the PDF.
Is IronPDF free to use for Java development?
IronPDF for Java is free to use during development but requires a commercial license for deployment. A free trial of the full version is available for testing.
What are the prerequisites for using IronPDF in a Java project?
To use IronPDF in a Java project, you need the Java Development Kit (JDK), Maven, and the IronPDF Java Library. Add the IronPDF dependency to your project's pom.xml file.
What features does IronPDF offer for Java developers?
IronPDF for Java offers features like converting images and HTML to PDF, editing form components, and ensuring high-quality rendering of images and text without losing formatting.
How does IronPDF handle image rendering in PDF documents?
IronPDF provides high-quality image rendering in PDF documents, ensuring that all images and text maintain their original formatting and quality.
How can I ensure high-quality PDFs when converting images using Java?
IronPDF guarantees high-quality PDF output by accurately rendering images and text without losing formatting. Use the fromImage
method to maintain quality during conversion.
What is the role of Maven in setting up a Java project with IronPDF?
Maven is used to manage dependencies, including IronPDF, in your Java project. Add IronPDF as a dependency in your pom.xml to facilitate easy integration and updates.