Published March 11, 2023
How to Generate PDF in Java
In this article, we will discuss how to generate PDF files using a Java PDF library.
Generating PDF documents in Java is a frequent task in the IT industry. PDF documents are extensively used in various applications, and the ability to generate them programmatically is a crucial aspect of many Java projects. In this article, we will use the IronPDF library for Java to generate PDF files in various ways. Whether you need to create invoices, reports, or other types of documents, IronPDF is an excellent choice.
1. IronPDF for Java
IronPDF for Java is a library that simplifies the generation of PDF documents within Java applications. It offers a straightforward and user-friendly API that allows developers to easily create and manipulate PDF documents. Some of the notable features of IronPDF include the ability to create new PDF documents, convert HTML pages to PDF, add text, images, and tables to a PDF document, generate PDF forms, and extract content.
IronPDF provides an extensive range of features for generating, formatting, and editing PDF files. The library is compatible with various options and is not an open-source Java library. With IronPDF, users can create PDF documents from XML documents and image files, or edit and add bookmarks to existing PDFs.
2. Prerequisites
Before we begin our journey of generating PDF files in Java, there are some essential requirements that must be fulfilled. These prerequisites include:
- Java must be installed on your system and its path must be set in the environment variables. In case you haven't installed Java yet, you can follow this link to install it.
- You'll need a Java IDE such as Eclipse or IntelliJ to write and execute your code. If you don't have any of these installed, you can download Eclipse from this link or IntelliJ from this link.
- Maven should be integrated with your Java IDE to manage dependencies and build the project. If you need help integrating Maven with your IDE, this link can assist you.
Once you have fulfilled these prerequisites, you are ready to set up your project and start creating PDF files in Java.
3. IronPDF for Java Installation
With all the necessary requirements met, adding IronPDF to your Java project becomes a straightforward task, even for those new to Java development. In this guide, we'll be using JetBrains IntelliJ IDEA as our Java IDE to install the library and run the code examples.
To get started, open JetBrains IntelliJ IDEA and create a new Maven project.

Create an New IntelliJ Maven Project
When you initiate the process of creating a new project in JetBrains IntelliJ IDEA, a new window will pop up. This window will prompt you to enter the name of your project. Once you have entered an appropriate name, simply click on the "Finish" button to proceed.

Specify the name for the new Maven Project, and click Finish to close the New Project Wizardf
Once you have clicked the "Finish" button, a new project will be opened in JetBrains IntelliJ IDEA, and you will be presented with the pom.xml file. This file will be used to add dependencies required for the Maven project.

Specify the name for the new Maven Project, and click Finish to close the New Project Wizardf
Add the following dependencies in the pom.xml file, by adding these dependencies, we can ensure that all the necessary libraries and packages are available for the project to run smoothly.
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>com.ironsoftware</artifactId>
<version>2023.9.2</version>
</dependency>
After you have successfully added the above dependencies to the pom.xml file, you will notice a small icon appears in the top right corner of the file.

Click on the floating Maven icon to install all defined dependencies in the Maven project's classpath
Simply click on this icon to install dependencies. This process should only take a few minutes, depending on the speed of your internet connection.
4. Generating PDF Files
In this section of this article, we will discuss how to generate PDF files using IronPDF for Java. There are many ways to generate PDF files using IronPDF, but we will be discussing only a few of them.
- Create a PDF File
- Generate a password-protected PDF file
4.1. Create PDF Documents
There are numerous ways to generate PDF files using IronPDF. However, in this article, we will only discuss two of them:
- URL to PDF
- HTML String to PDF
4.1.1. URL to PDF
One of IronPDF's key features is its ability to convert a URL into a PDF file. This feature makes it simple for developers to convert web pages into PDFs for use within their applications. Below is example code that creates a new document using a URL.
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
public class main {
public static void main(String[] args) throws IOException {
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://www.pinterest.com/?show_error=true#top");
myPdf.saveAs(Paths.get("url.pdf"));
}
}
The resulting PDF file shows the PDF created by converting the URL to a PDF file.

Converting a Web Page to a PDF Using IronPDF's URL to PDF feature
4.1.2. HTML String to PDF
In this source code, we will create a new PDF file by converting an HTML string to PDF.
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
public class main {
public static void main(String[] args) throws IOException {
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
myPdf.saveAs(Paths.get("html_saved.pdf"));
}
}
The following image shows the output of the above code, creating a PDF file from an HTML string.

Converting HTML to PDF. Above, we specify a String of HTML markup in the PdfDocument.renderHtmlAsPdf
method.
4.2. Generate a Password-protected PDF File
IronPDF can be used to generate password-protected PDF files in Java. To generate a password-protected PDF file using IronPDF, just follow the below code example:
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityManager;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import java.io.IOException;
import java.nio.file.Paths;
public class main {
public static void main(String[] args) throws IOException {
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Secured file Made with IronPDF!");
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setOwnerPassword("123abc");
securityOptions.setUserPassword("secretPassword");
SecurityManager securityManager = myPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);
myPdf.saveAs(Paths.get("secured.pdf"));
}
}

The result of IronPDF's generation of a password-protected PDF document. Viewing the contents of the PDF now requires users to enter a password.
Once you enter the correct password you can access the PDF file.

The contents of the password-protected PDF document.
5. Conclusion
Generating PDF files in Java has become a crucial aspect of many Java projects. IronPDF for Java is a library that provides a simple API, making it easy for developers to create and manipulate PDF documents. To get started with IronPDF, you will need to have Java, a Java IDE, and Maven integrated with your IDE. Once you have met these prerequisites, you can add the necessary dependencies to your Maven project and create PDF files.
IronPDF offers several ways to generate PDFs, such as converting a URL to PDF, converting an HTML string to PDF, and creating password-protected or digitally-signed PDF files. With IronPDF, generating PDF files in Java has never been easier.
IronPDF for Java is available for free for development purposes, but a license is required for commercial use. However, you can get free 30 day trial license to test IronPDF for Java's functionality.