Java PDF Generator (Code Example Tutorial)
This article will explore how to use IronPDF to generate new files, extract content, and save PDFs.
How to Generate PDF Files in Java
- Install IronPDF Java Library for PDF Generation
- Render PDF from HTML string with
renderHtmlAsPdf
method - Render PDF from HTML file with
renderHtmlFileAsPdf
method - Render PDF from URL with
renderUrlAsPdf
method - Apply password protection on the newly generated PDF in Java
IronPDF for Java
IronPDF for Java is built for generating PDF documents or PDF forms from HTML code, whether from a file, HTML string, HTML pages, or URL. It generates PDF files with accuracy, and formatting is also preserved. It is designed in a way that developers find it easy to use.
IronPDF is built on top of the .NET Framework, allowing it to be a versatile tool for generating PDFs in various contexts.
IronPDF provides the following functions for generating and manipulating large documents:
- The ability to add and extract content from PDFs (text, images, tables, etc.)
- The ability to control the layout and formatting of the document (e.g., set fonts, colors, margins...)
- The ability to complete forms and add digital signatures
Steps to Create a PDF File in a Java Application
Prerequisites
To use IronPDF to create a PDF generating tool, the following software needs to be installed on the computer:
- Java Development Kit - JDK is required for building and running Java programs. If it is not installed, download the latest release from the Oracle Website.
- Integrated Development Environment - IDE is software that helps write, edit, and debug a program. Download any IDE for Java, e.g., Eclipse, NetBeans, IntelliJ.
- Maven - Maven is an automation and open-source Java tool that helps download libraries from the Central Maven Repository. Download it from the Apache Maven website.
IronPDF - Finally, IronPDF is required to create PDF files in Java. This needs to be added as a dependency in your Java Maven Project. Include the IronPDF artifact along with the slf4j dependency in the
pom.xml
file as shown below:<dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>YOUR_VERSION_HERE</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>YOUR_VERSION_HERE</version> </dependency>
<dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>YOUR_VERSION_HERE</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>YOUR_VERSION_HERE</version> </dependency>
XML
Adding Necessary Imports
First, add the following line at the top of the Java main class source code file to import all the required important class methods from the IronPDF library.
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.*;
Next, configure IronPDF with a valid license key to use its methods. Invoke the setLicenseKey
method in the main method.
License.setLicenseKey("Your license key");
License.setLicenseKey("Your license key");
Note: You can get a free trial license key from IronPDF to create and read PDFs.
Generate PDF Documents from HTML String
Creating PDF files from HTML string is very easy and usually takes one or two lines of code to do it. Here, an HTML code is written as a string in a variable and then passed to the renderHtmlAsPdf
method found in the PdfDocument
class. The following code generates a new PDF document instance:
// Create a string that contains HTML content
String htmlString = "<h1>Hello World!</h1><p>This is an example of an HTML string in Java.</p>";
// Generate a PDF document from the HTML string
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlString);
// Create a string that contains HTML content
String htmlString = "<h1>Hello World!</h1><p>This is an example of an HTML string in Java.</p>";
// Generate a PDF document from the HTML string
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlString);
Now, use the saveAs
method to save the generated PDF to a path on your local system:
// Save the generated PDF to the specified path
pdf.saveAs("htmlstring.pdf");
// Save the generated PDF to the specified path
pdf.saveAs("htmlstring.pdf");
The above line of code creates a PDF called "htmlstring.pdf" containing the contents of the HTML string.
The output is as follows:
HTML String to PDF Output
Create PDF Documents from HTML Files
The following code creates a PDF file from an HTML file:
// Convert an HTML file to a PDF document
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
// Save the PDF document to the specified path
myPdf.saveAs("html_file.pdf");
// Convert an HTML file to a PDF document
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
// Save the PDF document to the specified path
myPdf.saveAs("html_file.pdf");
HTML file code:
<html>
<head>
<title>Example HTML File</title>
</head>
<body>
<h1>HTML File Example</h1>
<p style="font-style:italic;">This is an example HTML file</p>
</body>
</html>
<html>
<head>
<title>Example HTML File</title>
</head>
<body>
<h1>HTML File Example</h1>
<p style="font-style:italic;">This is an example HTML file</p>
</body>
</html>
In the above code, the renderHtmlFileAsPdf
method generates PDF files from HTML files. This method accepts a string argument containing the path to the HTML file.
IronPDF renders the HTML file elements along with the CSS and JavaScript attached to it, if any. You can see in the output below that the CSS styling is also maintained by IronPDF, and the output is the same as it would have been in a web browser.
HTML File to PDF Output
Generate PDF Files from URL
The renderUrlAsPdf
method is used to create PDF files from a web page. It accepts the web page's URL as an argument.
// Generate a PDF document using a URL
PdfDocument urlToPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
// Save the generated PDF to the specified path
urlToPdf.saveAs("urlToPdf.pdf");
// Generate a PDF document using a URL
PdfDocument urlToPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
// Save the generated PDF to the specified path
urlToPdf.saveAs("urlToPdf.pdf");
URL to PDF Output
Additional rendering options can be set to configure PDF generation. You can get more information on the Convert URL to PDF Example Code.
Generating Password Protected PDF Files
IronPDF can be used to create a password-protected PDF file with the SecurityOptions
class. All file permissions can be set if you integrate the PDF functionalities of IronPDF. The code goes as follows:
// Create security options and set a user password
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setUserPassword("shareable");
// Create security options and set a user password
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setUserPassword("shareable");
setUserPassword
is used to set a secure password. The below code sample applies password protection to the PDF document that was created in the URL to PDF example:
// Get the security manager of the PDF document and set the security options
SecurityManager securityManager = urlToPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);
// Save the protected PDF document to the specified path
urlToPdf.saveAs("protected.pdf");
// Get the security manager of the PDF document and set the security options
SecurityManager securityManager = urlToPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);
// Save the protected PDF document to the specified path
urlToPdf.saveAs("protected.pdf");
The PDF file is now password protected. Now open the PDF file, and a password option will appear:
Password Protected File
After entering the password correctly, the PDF document will open.
PDF document
More security settings and metadata about the PDF files can be explored in the related Security and Metadata Code Example.
Summary
This article demonstrated the capability of the IronPDF library to create PDFs using multiple methods. IronPDF is a pure Java library and is powerfully built to easily work with PDF files in Java.
IronPDF's Engine makes it easy to create PDFs from various sources such as HTML files, image files, XML documents, Jasper reports, or any other input. It complies with the standard Java printing API, which facilitates document printing, and you can also digitally sign PDF files. IronPDF helps to get all the PDF-related tasks done quickly and easily.
IronPDF is not an open-source Java library. It provides a commercial license which starts from $749. You can also get a free trial of IronPDF to test it in production within your Java applications.
Frequently Asked Questions
How can I generate a PDF from an HTML string in Java?
To generate a PDF from an HTML string using IronPDF, you utilize the renderHtmlAsPdf
method from the PdfDocument
class. Once the PDF is created, use the saveAs
method to save your document.
Can I create a PDF from an HTML file?
Yes, with IronPDF, you can use the renderHtmlFileAsPdf
method from the PdfDocument
class to generate a PDF from an HTML file by providing the file path.
How do I generate a PDF from a URL?
IronPDF facilitates the creation of a PDF from a web page URL using the renderUrlAsPdf
method. Simply pass the web page URL as an argument to this method.
Is it possible to password-protect PDF files?
Yes, IronPDF allows you to password-protect your PDF files. Use the SecurityOptions
class to set a user password with the setUserPassword
method.
What are the prerequisites for using IronPDF in a Java application?
To create PDF files in Java using IronPDF, ensure you have the Java Development Kit (JDK), an Integrated Development Environment (IDE), Maven, and IronPDF itself configured as a Maven dependency.
Does IronPDF support digital signatures in PDFs?
Yes, IronPDF supports adding digital signatures to PDF files, enhancing document security and ensuring authenticity.
Is IronPDF an open-source Java library?
No, IronPDF is a commercial Java library. However, there is a free trial available that allows you to test its full capabilities before purchase.
How do I configure IronPDF with a license key?
To configure IronPDF with a license key, invoke the setLicenseKey
method in your Java application. You can obtain a license key through a free trial or purchase.
How can I preserve HTML formatting when generating PDFs in Java?
IronPDF maintains HTML formatting when converting HTML to PDF. It supports CSS and JavaScript styling, ensuring that the rendered PDF closely matches the original HTML design.
What methods are available for saving a generated PDF using IronPDF?
Once you've generated a PDF using IronPDF, you can save it using the saveAs
method, specifying the desired file path and name for your PDF.