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:

  1. 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.
  2. 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.
  3. 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.

Generating PDFs in Java - Figure 1

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.

Generating PDFs in Java - Figure 2

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.

Generating PDFs in Java - Figure 3

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>2024.3.1</version>
</dependency>
XML

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.

Generating PDFs in Java - Figure 4

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.

  1. Create a PDF File
  2. 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:

  1. URL to PDF
  2. 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"));
    }
}
JAVA

The resulting PDF file shows the PDF created by converting the URL to a PDF file.

Generating PDFs in Java - Figure 5

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"));
        }
    }
JAVA

The following image shows the output of the above code, creating a PDF file from an HTML string.

Generating PDFs in Java - Figure 6

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"));
        }
    }
JAVA
Generating PDFs in Java - Figure 7

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.

Generating PDFs in Java - Figure 8

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.