
The watermark image or text is used to identify the document’s author or copyright information. You can detect all the available watermarks in a document and then remove them. As a Java developer, you can easily remove watermarks from documents programmatically. In this article, you will learn how to remove watermarks from PDF documents using Java.
The following topics are discussed/covered in this article:
- Java API for Watermark Removal
- Remove All Watermarks from PDF using Java
- Text Only Watermarks Removal from PDF using Java
- Remove Watermarks with Particular Text Formatting
- Image Only Watermarks Removal from PDF using Java
Java API for Watermark Removal
I will be using GroupDocs.Watermark for Java API for removing watermarks from PDF documents. It allows performing image and text watermarking operations. It also enables you to apply new watermarks, search and delete existing watermarks in files of supported formats such as Word, Excel, Powerpoint, and PDF.
You can download the JAR of the API or just add the following pom.xml configuration in your Maven-based Java applications to try the below-mentioned code examples.
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-watermark</artifactId>
<version>20.5</version>
</dependency>
Remove All Watermarks from PDF using Java
You can easily remove all watermarks from your PDF documents by following the simple steps mentioned below:
- Create an instance of Watermarker class
- Specify the path to the input PDF file
- Populate PossibleWatermarkCollection by calling the search() method
- Call the clear() method to remove all watermarks
- Save the updated file
The following code sample shows how to remove all watermarks available in a PDF document using Java.
// Create an instance | |
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf"); | |
// Search all possible watermarks | |
PossibleWatermarkCollection possibleWatermarks = watermarker.search(); | |
// Remove all found watermarks | |
possibleWatermarks.clear(); | |
// Save updated file | |
watermarker.save("C:\\Files\\output.pdf"); | |
watermarker.close(); |

Remove All Watermarks from PDF using Java
The Watermarker class facilitates adding, removing, and searching watermarks in a document.
The PossibleWatermarkCollection class represents a collection of possible watermarks found in a content.
The search() method of the Watermarker class searches all possible watermarks in the document. It returns the result set as PossibleWatermarkCollection.
Text Only Watermarks Removal from PDF using Java
You can easily remove all text-only watermarks from your PDF documents by following the simple steps mentioned below:
- Create an instance of Watermarker class
- Specify the path to the input PDF file
- Populate PossibleWatermarkCollection by calling the search() method
- Check if getText() is not null or empty for all PossibleWatermarks
- Then pass the index to the removeAt() method to remove it
- Save the updated file
The following code sample shows how to remove only the text watermarks available in a PDF document using Java.
// Create an instance | |
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf"); | |
// Search all possible watermarks | |
PossibleWatermarkCollection possibleWatermarks = watermarker.search(); | |
// Remove all found watermarks | |
for (int i = possibleWatermarks.getCount() - 1; i >= 0; i--) | |
{ | |
if(possibleWatermarks.get_Item(i).getText() != null && possibleWatermarks.get_Item(i).getText() != "") | |
{ | |
possibleWatermarks.removeAt(i); | |
} | |
} | |
// Save updated document | |
watermarker.save("C:\\Files\\output.pdf"); | |
watermarker.close(); |

Text Only Watermarks Removal from PDF using Java
The removeAt() method removes the item at the specified index from the PossibleWatermarksCollection.
Remove Watermarks with Particular Text Formatting
You can remove text watermarks available with particular formatting from your PDF documents by following the simple steps mentioned below:
- Create an instance of Watermarker class
- Specify the path to the input PDF file
- Define the TextFormattingSearchCriteria
- Populate PossibleWatermarkCollection by calling the search() method
- Call the clear() method to remove all found watermarks
- Save the updated file
The following code sample shows how to remove the text watermarks with particular text formatting from a PDF document using Java.
// Create an instance | |
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf"); | |
// Define text formatting search criteria | |
TextFormattingSearchCriteria criteria = new TextFormattingSearchCriteria(); | |
criteria.setFontName("Arial"); | |
criteria.setMinFontSize(19); | |
criteria.setMaxFontSize(42); | |
criteria.setFontBold(false); | |
// Search possible watermarks | |
PossibleWatermarkCollection watermarks = watermarker.search(criteria); | |
watermarks.clear(); | |
// Save updated document | |
watermarker.save("C:\\Files\\output.pdf"); | |
watermarker.close(); |

Remove Watermarks with Particular Text Formatting
Image Only Watermarks Removal from PDF using Java
You can easily remove all image only watermarks from your PDF documents by following the simple steps mentioned below:
- Create an instance of Watermarker class
- Specify the path to the input PDF file
- Populate PossibleWatermarkCollection by calling the search() method
- Check if getImageData() is not null for all PossibleWatermarks
- Then pass the index to the removeAt() method to remove it
- Save the updated file
The following code sample shows how to remove only the image watermarks available in a PDF document using Java.
// Create an instance | |
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf"); | |
// Search all possible watermarks | |
PossibleWatermarkCollection possibleWatermarks = watermarker.search(); | |
// Remove all image watermarks | |
for (int i = possibleWatermarks.getCount() - 1; i >= 0; i--) | |
{ | |
if(possibleWatermarks.get_Item(i).getImageData() != null) | |
{ | |
possibleWatermarks.removeAt(i); | |
} | |
} | |
// Save updated document | |
watermarker.save("C:\\Files\\output.pdf"); | |
watermarker.close(); |

Image Only Watermarks Removal from PDF using Java
Get a Free License
You can try the API without evaluation limitations by requesting a free temporary license.
Conclusion
In this article, you have learned how to remove text or image watermarks from a PDF document using Java. Furthermore, you have learned how to remove text-only or image-only watermarks from documents. You can learn more about GroupDocs.Watermark for Java API using the documentation. In case of any ambiguity, please feel free to contact us on the forum.