Skip to footer content
USING IRONPDF FOR JAVA

How to Generate PDF in Java

This article will discuss how to generate PDF files using a Java PDF library.

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 implementing a PDF file generator 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 download link from the Java website 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 download link or IntelliJ from this JetBrains download 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 tutorial from JetBrains 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. This guide will use JetBrains IntelliJ IDEA as the main Java IDE to install the library and run the code examples.

To get started, open JetBrains IntelliJ IDEA and create a new Maven project.

How to Generate PDF in Java, Figure 1: Create a new Maven project Create a new 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.

How to Generate PDF in Java, Figure 2: Name your project Name your project

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.

How to Generate PDF in Java, Figure 3: The pom.xml file The pom.xml file

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>ironpdf</artifactId>
    <version>latest.version</version>
</dependency>
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>latest.version</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.

How to Generate PDF in Java, Figure 4: Install missing dependencies Install missing dependencies

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

This section will discuss how to generate PDF files using IronPDF for Java. There are many ways to generate PDF files using IronPDF, but these two have proven to be the most optimal approaches.

  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, this article 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.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;

public class Main { // Class names should be capitalized
    public static void main(String[] args) throws IOException {
        // Convert a URL to a PDF document
        PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://www.pinterest.com/?show_error=true#top");
        // Save the generated PDF to a file
        myPdf.saveAs(Paths.get("url.pdf"));
    }
}
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;

public class Main { // Class names should be capitalized
    public static void main(String[] args) throws IOException {
        // Convert a URL to a PDF document
        PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://www.pinterest.com/?show_error=true#top");
        // Save the generated PDF to a file
        myPdf.saveAs(Paths.get("url.pdf"));
    }
}
JAVA

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

How to Generate PDF in Java, Figure 5: The output PDF file The output PDF file

4.1.2. HTML String to PDF

In this source code, a new PDF file is created by converting an HTML string to PDF.

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 {
        // Convert an HTML string to a PDF document
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
        // Save the generated PDF to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
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 {
        // Convert an HTML string to a PDF document
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
        // Save the generated PDF to a file
        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.

How to Generate PDF in Java, Figure 6: The output PDF file The output PDF file

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.PdfDocument;
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 {
        // Convert an HTML string to a PDF document
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Secured file Made with IronPDF!");
        // Setup security options for the PDF document
        SecurityOptions securityOptions = new SecurityOptions();
        securityOptions.setOwnerPassword("123abc");  // Set the owner password
        securityOptions.setUserPassword("secretPassword");  // Set the user password
        // Apply security options to the PDF document
        SecurityManager securityManager = myPdf.getSecurity();
        securityManager.setSecurityOptions(securityOptions);
        // Save the password-protected PDF to a file
        myPdf.saveAs(Paths.get("secured.pdf"));
    }
}
import com.ironsoftware.ironpdf.PdfDocument;
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 {
        // Convert an HTML string to a PDF document
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Secured file Made with IronPDF!");
        // Setup security options for the PDF document
        SecurityOptions securityOptions = new SecurityOptions();
        securityOptions.setOwnerPassword("123abc");  // Set the owner password
        securityOptions.setUserPassword("secretPassword");  // Set the user password
        // Apply security options to the PDF document
        SecurityManager securityManager = myPdf.getSecurity();
        securityManager.setSecurityOptions(securityOptions);
        // Save the password-protected PDF to a file
        myPdf.saveAs(Paths.get("secured.pdf"));
    }
}
JAVA

How to Generate PDF in Java, Figure 7: The password required PDF file The password required PDF file

Once you enter the correct password you can access the PDF file.

How to Generate PDF in Java, Figure 8: The output PDF file The output PDF file

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 a free 30-day trial license to test IronPDF for Java's functionality.

Frequently Asked Questions

What is a library that simplifies the generation of PDF documents within Java applications?

IronPDF for Java is a library that simplifies the generation of PDF documents within Java applications. It offers features such as creating and manipulating PDF documents, converting HTML pages to PDF, adding text, images, and tables, and generating PDF forms.

What are the prerequisites for using a PDF library in Java?

To use IronPDF in Java, you need to have Java installed on your system, a Java IDE like Eclipse or IntelliJ, and Maven integrated with your IDE to manage dependencies and build the project.

How do I add a PDF generation library to a Java project?

You can add IronPDF to a Java project by adding the IronPDF dependency to your Maven project's pom.xml file and then installing the required dependencies via your IDE.

How can I create a PDF from a URL using a PDF library?

To create a PDF from a URL using IronPDF, use the PdfDocument.renderUrlAsPdf() method in your Java code, specifying the URL, and then save the generated PDF using the saveAs() method.

Can I generate a password-protected PDF using a library?

Yes, IronPDF allows you to generate password-protected PDFs by setting security options with owner and user passwords using the SecurityManager class.

Is there a free version of a PDF generation library for Java?

IronPDF for Java is free for development purposes, but a license is required for commercial use. You can obtain a free 30-day trial license to test its functionality.

What are some methods to generate PDFs with a library?

IronPDF allows generating PDFs by converting URLs or HTML strings to PDF, creating password-protected PDFs, and more. It provides a flexible API for various PDF generation needs.

What Java IDEs are compatible with a PDF library?

IronPDF is compatible with popular Java IDEs such as Eclipse and IntelliJ, which support Maven for managing project dependencies.

How do I convert an HTML string to a PDF with a library?

To convert an HTML string to a PDF, use the PdfDocument.renderHtmlAsPdf() method and specify the HTML content. Save the PDF document using the saveAs() method.

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.

Talk to an Expert Five Star Trust Score Rating

Ready to Get Started?