Add watermarks with GroupDocs.Watermark
Leave feedback
On this page
GroupDocs.Watermark stamps text or images onto documents — Word, PDF, spreadsheets, presentations, images and more — and can find and remove watermarks that are already there.
Each example below is ready to copy into a project once you have installed the package.
A TextWatermark takes the text and a font. Everything else — rotation, opacity, colour, alignment — is a property you set before adding it.
import com.groupdocs.watermark.Watermarker;
import com.groupdocs.watermark.common.HorizontalAlignment;
import com.groupdocs.watermark.common.VerticalAlignment;
import com.groupdocs.watermark.watermarks.Color;
import com.groupdocs.watermark.watermarks.Font;
import com.groupdocs.watermark.watermarks.FontStyle;
import com.groupdocs.watermark.watermarks.TextWatermark;
try (Watermarker watermarker = new Watermarker("contract.docx")) {
TextWatermark watermark = new TextWatermark(
"CONFIDENTIAL", new Font("Arial", 42, FontStyle.Bold));
watermark.setForegroundColor(Color.getRed());
watermark.setOpacity(0.4);
watermark.setRotateAngle(-45);
watermark.setHorizontalAlignment(HorizontalAlignment.Center);
watermark.setVerticalAlignment(VerticalAlignment.Center);
watermarker.add(watermark);
watermarker.save("watermark-add-text.docx");
}
contract.docx is the sample file used in this example. Click here to download it.
Binary file (DOCX, 16 KB)
An ImageWatermark places a picture instead of text — a logo, a stamp, a QR code. It supports the same alignment and opacity properties.
import com.groupdocs.watermark.Watermarker;
import com.groupdocs.watermark.common.HorizontalAlignment;
import com.groupdocs.watermark.common.VerticalAlignment;
import com.groupdocs.watermark.watermarks.ImageWatermark;
try (Watermarker watermarker = new Watermarker("contract.pdf")) {
try (ImageWatermark watermark = new ImageWatermark("logo.png")) {
watermark.setOpacity(0.5);
watermark.setHorizontalAlignment(HorizontalAlignment.Center);
watermark.setVerticalAlignment(VerticalAlignment.Center);
watermarker.add(watermark);
}
watermarker.save("watermark-add-image.pdf");
}
contract.pdf and logo.png are the sample files used in this example. Download contract.pdf and logo.png.
Binary file (PDF, 153 KB)
The same two calls work on any supported format. Only the file you open changes.
import com.groupdocs.watermark.Watermarker;
import com.groupdocs.watermark.watermarks.Font;
import com.groupdocs.watermark.watermarks.FontStyle;
import com.groupdocs.watermark.watermarks.TextWatermark;
try (Watermarker watermarker = new Watermarker("rate-card.xlsx")) {
TextWatermark watermark = new TextWatermark(
"DRAFT", new Font("Calibri", 36, FontStyle.Bold));
watermark.setOpacity(0.3);
watermark.setRotateAngle(-30);
watermarker.add(watermark);
watermarker.save("watermark-spreadsheet.xlsx");
}
rate-card.xlsx is the sample file used in this example. Click here to download it.
Binary file (XLSX, 12 KB)
GroupDocs.Watermark also searches for existing watermarks and removes or replaces them, adds watermarks to specific pages or sections, works with the images and attachments inside a document, and applies format-specific watermarks such as PDF annotations and Word shapes.
- GroupDocs.Watermark for Java documentation — the full product guide
- Supported file formats
- API reference
Was this page helpful?
Any additional feedback you'd like to share with us?
Please tell us how we can improve this page.
Thank you for your feedback!
We value your opinion. Your feedback will help us improve our documentation.