How to Watermark PDF Files in Java

Watermarking is a common technique used to protect the authenticity and ownership of digital documents. In this article, we will learn how to add watermarks to PDF files using IronPDF, a powerful library for Java. With IronPDF, you can easily incorporate watermarks into your PDF documents programmatically, ensuring their security and branding. Let's dig deep into the step-by-step process of Java watermarking using IronPDF.

IronPDF - Java PDF Library

IronPDF is a library for working with PDFs in Java. It offers fast and accurate operations, making it an excellent choice for many PDF file-related tasks like extracting text, extracting images, merging, and splitting. It is built on the capabilities of IronPDF for .NET, ensuring reliable functionality.

With the IronPDF library, you can convert HTML, URL, and strings into PDF documents using popular open standard document types such as HTML, CSS, JS, JPG, and PNG. The library generates PDFs with precise pixel-perfect rendering and utilizes the latest technology.

Prerequisites

Before we get started, make sure you have the following prerequisites in place:

  1. Java Development Kit (JDK) installed on your machine.
  2. A Java IDE (Integrated Development Environment) such as Eclipse, NetBeans, or IntelliJ IDEA.
  3. IronPDF library was added as a dependency in your Java project. You can include it by referencing the appropriate Maven artifact or by manually importing the JAR file. You can download it from the IronPDF website and include it in your project.

Setting up the Project

  1. Create a new Java project in your chosen IDE and include the IronPDF library as a dependency. You can do this by either adding the Maven artifact to your project's pom.xml file or by importing the JAR file manually.
  2. Add the IronPDF library to your project using the dependency manager.

    <dependency>
       <groupId>com.ironsoftware</groupId>
       <artifactId>com.ironsoftware</artifactId>
       <version>2024.3.1</version>
    </dependency>
  3. Add the following necessary imports to your Java source file(s):

    import com.ironsoftware.ironpdf.PdfDocument;
    import com.ironsoftware.ironpdf.stamp.*;
    
    import java.io.IOException;
    import java.nio.file.Paths;
    JAVA

Loading the PDF Document

To begin, load the existing PDF document on which you want to add the watermark, or create a new PDF file using the renderHtmlAsPdf method. IronPDF provides convenient methods to open and manipulate PDF files. The following code example will load the example.pdf file as a PdfDocument object:

PdfDocument pdf = PdfDocument.fromFile(Paths.get("example.pdf"));
JAVA

Adding Watermark to PDF File

IronPDF allows you to add various types of watermarks to your PDF documents, including text watermarks and image watermarks. Let's explore both options:

Add Text Watermark

To add a text confidential watermark, use the applyWatermark method. You can customize the text, font, color, and size, using HTML string as the first parameter, set its opacity and align the watermark vertically and horizontally. Then save it using the saveAs method. Here's an example:

pdf.applyWatermark("<h1 style="color:red">Confidential</h1>", 50, VerticalAlignment.MIDDLE, HorizontalAlignment.CENTER);
pdf.saveAs("textwatermarked.pdf");
JAVA

The text-watermarked PDF document will look like this:

How to Watermark PDF Files in Java: Figure 1

Add Image Watermark

To add an image watermark, use the same applyWatermark method. Now, here in the HTML string set the img tag with the source image. Specify the path to the image file and adjust its position and opacity as needed. Here's an example:

pdf.applyWatermark("<img src='assets/images/iron-pdf-logo.jpg'>", 50, VerticalAlignment.MIDDLE, HorizontalAlignment.CENTER);
pdf.saveAs("imagewatermarked.pdf");
JAVA

Image Watermarked PDF document looks like this:

How to Watermark PDF Files in Java: Figure 2

Make Watermarked PDF using Stamper Class

IronPDF for Java provides a Stamper class, which can be used to add text and image watermarks using HTMLStamper, ImageStamper, and TextStamper classes. Stamper class provides more flexibility over the applyWatermark method.

Text Watermark to PDF

Here we will use TextStamper class to apply the watermark to PDF. You can set the rotation angle of the watermark text or image watermark to a PDF document. It also allows you to set horizontal and vertical offsets along with stamping behind the PDF page content.

Here is the code to add a text watermark to an existing PDF document:

TextStamper stamper = new TextStamper("Confidential");
stamper.setFontColor("#FF0000");
stamper.setFontSize(60);
stamper.setFontFamily("Times New Roman");
stamper.setHorizontalAlignment(HorizontalAlignment.CENTER);
stamper.setVerticalAlignment(VerticalAlignment.MIDDLE);
stamper.setOpacity(30);
stamper.setRotation(45);
pdf.applyStamp(stamper);
pdf.saveAs("textwatermarked2.pdf");
JAVA

In the above code, the IronPDF library's TextStamper class is used to create a text watermark with the content "Confidential" and applies it to a PDF document. The watermark is customized with specific font properties, alignment, opacity, and rotation. Finally, the modified PDF document is saved as a new file with the watermark applied.

How to Watermark PDF Files in Java: Figure 3

Image Watermark to PDF

Here we are going to use ImageStamper class to apply a background image watermark to a PDF document. The Java code is as follows:

ImageStamper stamper = new ImageStamper("assets/images/iron-pdf-logo.jpg");
stamper.setHorizontalAlignment(HorizontalAlignment.CENTER);
stamper.setVerticalAlignment(VerticalAlignment.MIDDLE);
stamper.setOpacity(30);
stamper.setStampBehindContent(true);
stamper.setRotation(45);
pdf.applyStamp(stamper);
pdf.saveAs("imagewatermarked.pdf");
JAVA

In the above complete code, the IronPDF library's ImageStamper class is used to create an image watermark and apply it to a PDF document. The watermark image is specified by its file path, and its properties such as alignment, opacity, stacking behind the content, and rotation are configured. Finally, the modified PDF document is saved as a new file with the watermark applied.

How to Watermark PDF Files in Java: Figure 4

Conclusion

In this article, we explored how to add watermarks to PDF documents using IronPDF. With IronPDF's intuitive APIs, you can easily incorporate text or image watermarks into your PDF files, enhancing their security and branding. Experiment with different customization options using the Stamper class to achieve the desired watermarking effects. Now, you can confidently protect and personalize your PDF documents in your Java applications.

For detailed guidance and example on utilizing IronPDF for Java, you can refer to their Code Examples pages, which provide helpful resources and demonstrations.

IronPDF is free for development purposes and offers commercial licensing options for commercial use. To learn more about the licensing details, you can visit the provided link.

You can also get a free API license in a free trial for commercial use. To obtain the IronPDF software, you can download it from the provided link.