Usman Aziz
Posted on September 11, 2019
Watermarking is a popular technique to indicate that the content in a document is confidential or information/data the document contains is copyrighted to the creator. Similarly, in many instances, the watermarked documents are shared among all the stakeholders and partners within a company. However, it is quite hard to manually apply the watermark to a bunch of documents one by one. So in order to make this process easier, we need some automation.
In this article, I will show you how you can apply the watermark to a batch of files including multiple documents or images in one go with the minimum efforts.
Many software components are available that allow you to add watermark. I am going to use GroupDocs.Watermark API which is available for both .NET and Java platforms. The plus point of using this API is that you can control the appearance and placement of the watermark using a variety of options. So let’s begin.
Steps
You need to follow the below steps to apply the watermark to a document:
- Load the document
- Create and initialize watermark object
- Set watermark properties such as position, size, opacity, font, etc.
- Add watermark to the document
- Save the document
This is how we would transform these steps into the code.
Code
- C#
DirectoryInfo dir = new DirectoryInfo(@"../../Documents/");
FileInfo[] files = dir.GetFiles();
// Iterate through the files
foreach (FileInfo file in files)
{
// Load document
using (Document doc = Document.Load(file.FullName))
{
// Initialize the font to be used for watermark
Font font = new Font("Calibre", 50, FontStyle.Bold | FontStyle.Italic);
// Create watermark
TextWatermark watermark = new TextWatermark("Protected", font);
// Set watermark properties
watermark.ForegroundColor = Color.Red;
watermark.TextAlignment = TextAlignment.Right;
watermark.Opacity = 0.5;
watermark.HorizontalAlignment = HorizontalAlignment.Center;
watermark.VerticalAlignment = VerticalAlignment.Center;
watermark.RotateAngle = -45;
// Apply watermark
doc.AddWatermark(watermark);
// Save document
doc.Save(Path.Combine("../../Output",file.Name));
}
}
- Java
// Get files in the Documents folder
File folder = new File("./Documents/");
File[] listOfFiles = folder.listFiles();
// Iterate through the files
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
Document doc = Document.load(listOfFiles[i].getPath());
// Create watermark
Font font = new Font("Calibre", 50, FontStyle.Bold | FontStyle.Italic);
TextWatermark watermark = new TextWatermark("Protected", font);
// Set watermark properties
watermark.setForegroundColor(Color.getRed());
watermark.setTextAlignment(TextAlignment.Right);
watermark.setOpacity(0.5);
watermark.setHorizontalAlignment(HorizontalAlignment.Center);
watermark.setVerticalAlignment(VerticalAlignment.Center);
watermark.setRotateAngle(-45);
// Apply watermark to the document
doc.addWatermark(watermark);
// Save document
doc.save("./Output/" + listOfFiles[i].getName());
doc.close();
}
}
Output
Source Code
Download the complete ready-to-run source code from GitHub.
Cheers!
Posted on September 11, 2019
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.