Test in production without watermarks.
Works wherever you need it to.
Get 30 days of fully functional product.
Have it up and running in minutes.
Full access to our support engineering team during your product trial
There are multiple PDF Java libraries available in the market such as iText Library and Apache PDFBox, but IronPDF is one of the powerful Java libraries which allow you to perform various types of PDF operations including digital signatures, extracting text from forms, inserting text, and more. This article will guide you on how to use IronPDF for Java to create PDF documents with an efficient and easy-to-use API.
With the IronPDF Java Library Overview, developers may create PDFs, edit new documents, extract content from PDFs, and alter PDF documents with ease within their Java applications using the API. This library is a wonderful choice for Java developers who need to create PDF files from app data because it offers a lot of functionality, such as support for CJK fonts. IronPDF for Java also offers to merge multiple PDF files seamlessly into a single PDF file.
IronPDF supports creating a PDF from templates, adding new HTML content, customizing headers and footers, generating password-protected PDFs, digitally signing PDF files, adding backgrounds and foregrounds, creating outlines and bookmarks, forming complete PDF files from XML documents, and adding and editing annotations.
IronPDF makes it simple for developers to incorporate fresh HTML information into their entire PDF document. Developers who wish to dynamically create PDF-form documents with rich HTML information will find this to be a very useful tool with easy integration. The library supports a wide range of HTML components, such as tables, links, and images. It is straightforward to create PDFs with a professional appearance by using CSS to style HTML text data or images.
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class GeneratePdf {
public static void main(String[] args) throws IOException {
// Apply your commercial license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log file path
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Render the HTML as a PDF. Store in myPdf as type PdfDocument;
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Hello World</h1>");
// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("Demo.pdf"));
}
}
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class GeneratePdf {
public static void main(String[] args) throws IOException {
// Apply your commercial license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log file path
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Render the HTML as a PDF. Store in myPdf as type PdfDocument;
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Hello World</h1>");
// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("Demo.pdf"));
}
}
Below is the sample document generated from the above source code.
Output
Adding HTML headers and footers to your documents is easy with IronPDF. In many PDF documents, the headers and footers are essential sections. With IronPDF, developers may customize the headers and footers of their PDF documents with text, PNG images, and page numbers. Businesses that need to put trademark or copyright information in their publications will find this capability to be highly beneficial.
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.headerfooter.HtmlHeaderFooter;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
public class HeaderFooterExample {
public static void main(String[] args) throws IOException {
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
// Build a footer using HTML
// Merge Fields are: {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}
HtmlHeaderFooter footer = new HtmlHeaderFooter();
footer.setMaxHeight(15); // millimeters
footer.setHtmlFragment("<center><i>{page} of {total-pages}</i></center>");
footer.setDrawDividerLine(true);
pdf.addHtmlFooter(footer);
// Build a header using an image asset
// Note the use of BaseUrl to set a relative path to the assets
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setMaxHeight(20); // millimeters
header.setHtmlFragment("<img src=\"logo.png\" />");
header.setBaseUrl("./assets/");
pdf.addHtmlHeader(header);
try {
pdf.saveAs(Paths.get("assets/html_headers_footers.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.headerfooter.HtmlHeaderFooter;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
public class HeaderFooterExample {
public static void main(String[] args) throws IOException {
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
// Build a footer using HTML
// Merge Fields are: {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}
HtmlHeaderFooter footer = new HtmlHeaderFooter();
footer.setMaxHeight(15); // millimeters
footer.setHtmlFragment("<center><i>{page} of {total-pages}</i></center>");
footer.setDrawDividerLine(true);
pdf.addHtmlFooter(footer);
// Build a header using an image asset
// Note the use of BaseUrl to set a relative path to the assets
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setMaxHeight(20); // millimeters
header.setHtmlFragment("<img src=\"logo.png\" />");
header.setBaseUrl("./assets/");
pdf.addHtmlHeader(header);
try {
pdf.saveAs(Paths.get("assets/html_headers_footers.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
Developers are able to add watermarks and stamps to their PDF documents with IronPDF. A custom message or image is added to a new document using stamps; watermarks are translucent images or text that are displayed in the background of the document.
For companies who need to add a personalized message or safeguard their documents from unwanted use, these options are fantastic.
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;
import java.io.IOException;
import java.nio.file.Paths;
public class WatermarkExample {
public static void main(String[] args) throws IOException {
// Apply your commercial license key
License.setLicenseKey("Your-License");
// Create a new PDF or load an existing one from the filesystem
PdfDocument pdf = PdfDocument.fromFile(Paths.get("C:\\byteToPdf.pdf"));
// Apply a text watermark to the PDF document
pdf.applyWatermark("<h2 style='color:red'>SAMPLE</h2>",
30, VerticalAlignment.TOP, HorizontalAlignment.CENTER);
// Save the updated PDF document
pdf.saveAs(Paths.get("assets/watermark.pdf"));
}
}
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;
import java.io.IOException;
import java.nio.file.Paths;
public class WatermarkExample {
public static void main(String[] args) throws IOException {
// Apply your commercial license key
License.setLicenseKey("Your-License");
// Create a new PDF or load an existing one from the filesystem
PdfDocument pdf = PdfDocument.fromFile(Paths.get("C:\\byteToPdf.pdf"));
// Apply a text watermark to the PDF document
pdf.applyWatermark("<h2 style='color:red'>SAMPLE</h2>",
30, VerticalAlignment.TOP, HorizontalAlignment.CENTER);
// Save the updated PDF document
pdf.saveAs(Paths.get("assets/watermark.pdf"));
}
}
With IronPDF, developers may additionally customize the foreground and background of their PDF documents. Custom text or images can be added to a document's foreground or background, while custom colors or images can be added to the background. Business owners will find this option especially helpful if they wish to add personalized branding or graphics to their papers or PDF forms.
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class BackgroundForegroundExample {
public static void main(String[] args) throws IOException {
// Load background and foreground PDFs from the filesystem (or create them programmatically)
PdfDocument backgroundPdf = PdfDocument.fromFile(Paths.get("assets/MyBackground.pdf"));
PdfDocument foregroundPdf = PdfDocument.fromFile(Paths.get("assets/MyForeground.pdf"));
// Render content (HTML, URL, etc.) as a PDF Document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
// Add the background and foreground PDFs to the newly-rendered document
pdf.addBackgroundPdf(backgroundPdf);
pdf.addForegroundPdf(foregroundPdf);
// Save the updated PDF document
pdf.saveAs(Paths.get("assets/BackgroundForegroundPdf.pdf"));
}
}
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class BackgroundForegroundExample {
public static void main(String[] args) throws IOException {
// Load background and foreground PDFs from the filesystem (or create them programmatically)
PdfDocument backgroundPdf = PdfDocument.fromFile(Paths.get("assets/MyBackground.pdf"));
PdfDocument foregroundPdf = PdfDocument.fromFile(Paths.get("assets/MyForeground.pdf"));
// Render content (HTML, URL, etc.) as a PDF Document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
// Add the background and foreground PDFs to the newly-rendered document
pdf.addBackgroundPdf(backgroundPdf);
pdf.addForegroundPdf(foregroundPdf);
// Save the updated PDF document
pdf.saveAs(Paths.get("assets/BackgroundForegroundPdf.pdf"));
}
}
To learn more about the IronPDF for Java PDF library, refer to the HTML to PDF Tutorial for Java.
The ability to add annotations, bookmarks, HTML content, background and foreground colors, headers, and footers to PDF documents are just a few of the capabilities that are covered in this article. Developers can easily produce professional-looking PDF documents that match their individual demands by following the article's step-by-step instructions for integrating these capabilities using IronPDF.
The license is $749 in price. To help developers assess the library's capabilities before deciding on a purchase, IronPDF offers a free trial. All of the library's features, including support and upgrades, are available during the trial period. Users can opt to buy a license to keep accessing the library after the trial period concludes.
IronPDF for Java is a powerful Java library that allows developers to perform various PDF operations such as creating, editing, merging, and digitally signing PDF documents using an easy-to-use API.
IronPDF for Java supports a wide range of functionalities including creating PDFs from templates, adding HTML content, customizing headers and footers, generating password-protected PDFs, merging multiple PDFs, adding digital signatures, backgrounds, and foregrounds.
IronPDF allows developers to incorporate HTML content into PDF documents easily. By using its API, developers can dynamically create PDFs with rich HTML content, including tables, links, and images, styled using CSS.
Yes, IronPDF provides features to customize headers and footers in PDF documents with text, images, and page numbers, which is beneficial for adding trademark or copyright information.
IronPDF allows developers to add watermarks and stamps to PDF documents by overlaying custom messages or images as stamps or applying translucent images or text as watermarks.
IronPDF for Java offers an intuitive API to integrate PDF functionalities easily, supports a wide range of PDF operations, and provides extensive customization options for PDF documents, making it ideal for Java developers needing to handle PDF files efficiently.
Yes, IronPDF offers a free trial allowing developers to assess the library's capabilities, including all features, support, and upgrades, before purchasing a license.
Yes, IronPDF supports merging multiple PDF files into a single PDF document seamlessly using its API.
IronPDF allows developers to customize the background and foreground of PDFs by adding custom text, images, or colors, providing options for personalized branding or graphics.
The license is available at a price referred to as '$liteLicense'. It includes all the library's features, support, and upgrades.