Watermarking is the process of adding a logo or other identifying mark to a digital file. The purpose of a watermark is to identify the file's owner, assert copyrighting, deter unauthorized access to your content, and add branding to your assets. You may also use watermarks to track a file’s origin and prevent others from stealing or using your content without permission. There are several ways to watermark digital content, the most common being to add a visual mark to the file in text or image, using an app or a software program.
Automating the process would make it more efficient if you regularly come across watermarking multiple files of different types, thus saving loads of time and effort. This is where GroupDocs.Watermark APIs for .NET and Java are extremely useful. They make the watermarking process simpler, boost effectiveness, and enable you to ensure the protection of your digital images and documents. You can build C#, VB.NET, and Java apps to add or remove watermarks of text and image types in PDF, Word, Excel, PowerPoint, OpenDocument, Visio, Email, Rich Text, and different image file formats.
To successfully run the code samples shared in the subsequent sections and set up your working environment, please ensure having correctly installed GroupDocs.Watermark API for .NET or Java versions along with any other prerequisites.
We provide several installation options for the .NET and Java versions, please review the information shared below for more help.
You can install via NuGet, directly download the MSI installer or DLLs from the downloads section, or use Package Manager Console:
Please visit the downloads section for obtaining the JAR file, or, use the latest Maven configuration in your Java apps:
After configuring GroupDocs.Watermark (for .NET or Java) successfully, we can review some of the most common document and image watermarking use cases.
Text watermarks are a widely used type of watermark that can be used to protect sensitive content in digitally processed files. You can ward off unauthorized copying or printing of a file using text-based watermarks. GroupDocs.Watermark APIs allow .NET and Java developers to integrate this functionality into their existing software modules or build applications for mobile or HTML web interfaces enabling users to enjoy text watermarking features effortlessly.
If you are looking to insert text-based watermarks in Word files, please use the C# code given below:
WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions(); using (Watermarker watermarker = new Watermarker("path/sample.docx”, loadOptions)) { TextWatermark watermark = new TextWatermark("Test watermark", new Font("Arial", 19)); Apply watermark settings watermark.VerticalAlignment = VerticalAlignment.Center; watermark.HorizontalAlignment = HorizontalAlignment.Center; watermark.RotateAngle = 25.0; watermark.ForegroundColor = Color.Red; watermark.Opacity = 1.0; WordProcessingWatermarkSectionOptions options = new WordProcessingWatermarkSectionOptions(); // Setting shape name options.Name = "Shape 1"; // Set the descriptive (alternative) text to be associated with the shape options.AlternativeText = "Test watermark"; watermarker.Add(watermark, options); watermarker.Save("path/document-text-watermarked.docx”); }
You can also add text watermarks in Word documents by using the following Java code:
WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions(); Watermarker watermarker = new Watermarker(("path/sample.docx”, loadOptions); TextWatermark watermark = new TextWatermark("Test watermark", new Font("Arial", 19)); //Apply watermark settings watermark.setVerticalAlignment(VerticalAlignment.Center); watermark.setHorizontalAlignment(HorizontalAlignment.Center); watermark.setRotateAngle(25.0); watermark.setForegroundColor(Color.getRed()); watermark.setOpacity(1.0); WordProcessingWatermarkSectionOptions options = new WordProcessingWatermarkSectionOptions(); // Setting the shape name options.setName("Shape 1"); // Set the descriptive (alternative) text to be associated with the shape options.setAlternativeText("Test watermark"); watermarker.add(watermark, options); watermarker.save(("path/document-text-watermarked.docx”); watermarker.close();
Using images as watermarks is a great way to label legal or official documents as they are easier to add and difficult to remove compared to text watermarks. Image-based watermarks can also be used effectively to add branding or other information to a document. GroupDocs.Watermark APIs support multiple types of image-based watermarks for your PDF files in .NET and Java.
Watermark PDF documents with image-based labels using the C# code shown below:
// Add image watermark to PDF file page(s) PdfLoadOptions loadOptions = new PdfLoadOptions(); using (Watermarker watermarker = new Watermarker("path/sample.pdf", loadOptions)) { ImageWatermark imageWatermark = new ImageWatermark("watermark-image.png") { // Setting watermark appearance Opacity = 0.7, X = 70, Y = 350 }; // Adding image watermark to the second page (page index starts from zero) PdfArtifactWatermarkOptions imageWatermarkOptions = new PdfArtifactWatermarkOptions(); imageWatermarkOptions.PageIndex = 1; watermarker.Add(imageWatermark, imageWatermarkOptions); watermarker.Save("path/image-watermarked.pdf"); }
To watermark PDF files in Java with image labels, please use this sample code:
// Apply Image Watermark to the second page of the PDF file PdfLoadOptions loadOptions = new PdfLoadOptions(); Watermarker watermarker = new Watermarker("path/sample.pdf", loadOptions); // Load image and set appearance ImageWatermark imageWatermark = new ImageWatermark(Constants.LockPng); imageWatermark.setOpacity(0.7); imageWatermark.setX(130); imageWatermark.setY(390); // Add watermark image to the second page of the PDF file (page index starts at zero) PdfArtifactWatermarkOptions imageWatermarkOptions = new PdfArtifactWatermarkOptions(); imageWatermarkOptions.setPageIndex(1); watermarker.add(imageWatermark, imageWatermarkOptions); imageWatermark.close(); // Save the watermarked PDF watermarker.save("path/image-watermarked.pdf"); watermarker.close();
Microsoft Excel and PowerPoint are two of the most widely used spreadsheet and presentation data types. Users the world over extensively utilize these software applications for reporting, product demonstrations, and many other purposes. GroupDocs.Watermark for .NET and Java APIs enable app developers to programmatically watermark both these data file types with text and images without requiring Microsoft Office.
To inject text or image watermarks in your Excel spreadsheets in .NET, please make use of the following C# sample coding:
SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions(); using (Watermarker watermarker = new Watermarker(“path/sample.xlsx”, loadOptions)) { // Add text watermark to the first worksheet TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 8)); SpreadsheetWatermarkShapeOptions textWatermarkOptions = new SpreadsheetWatermarkShapeOptions(); textWatermarkOptions.WorksheetIndex = 0; watermarker.Add(textWatermark, textWatermarkOptions); // Add image watermark to the second worksheet using (ImageWatermark imageWatermark = new ImageWatermark(“watermark-image.jpg”)) { SpreadsheetWatermarkShapeOptions imageWatermarkOptions = new SpreadsheetWatermarkShapeOptions(); imageWatermarkOptions.WorksheetIndex = 1; watermarker.Add(imageWatermark, imageWatermarkOptions); } watermarker.Save(“path/text-image-watermarked.xlsx”); } //Similarly, please use this sample code if you are looking to watermark presentations in .NET: PresentationLoadOptions loadOptions = new PresentationLoadOptions(); using (Watermarker watermarker = new Watermarker(“path/sample.pptx”, loadOptions)) { // Add text watermark to the first slide TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 8)); PresentationWatermarkSlideOptions textWatermarkOptions = new PresentationWatermarkSlideOptions(); textWatermarkOptions.SlideIndex = 0; watermarker.Add(textWatermark, textWatermarkOptions); // Add image watermark to the second slide using (ImageWatermark imageWatermark = new ImageWatermark(“path/watermark-image.jpg”)) { PresentationWatermarkSlideOptions imageWatermarkOptions = new PresentationWatermarkSlideOptions(); imageWatermarkOptions.SlideIndex = 1; watermarker.Add(imageWatermark, imageWatermarkOptions); } watermarker.Save(“path/text-image-watermarked.pptx”); }
Please use the code sample shared below for applying text or image-based watermarks to your Excel spreadsheets in Java:
SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions(); Watermarker watermarker = new Watermarker(“path/sample.xlsx”, loadOptions); // Add text watermark to the first worksheet TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 8)); SpreadsheetWatermarkShapeOptions textWatermarkOptions = new SpreadsheetWatermarkShapeOptions(); textWatermarkOptions.setWorksheetIndex(0); watermarker.add(textWatermark, textWatermarkOptions); // Add image watermark to the second worksheet ImageWatermark imageWatermark = new ImageWatermark(“watermark-image.jpg”); SpreadsheetWatermarkShapeOptions imageWatermarkOptions = new SpreadsheetWatermarkShapeOptions(); imageWatermarkOptions.setWorksheetIndex(1); watermarker.add(imageWatermark, imageWatermarkOptions); watermarker.save(“path/text-image-watermarked.xlsx”); watermarker.close(); imageWatermark.close(); //And, to add text or image watermarks to presentations in Java, please use this code: PresentationLoadOptions loadOptions = new PresentationLoadOptions(); Watermarker watermarker = new Watermarker(“path/samples.pptx”, loadOptions); // Add text watermark to the first slide TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 8)); PresentationWatermarkSlideOptions textWatermarkOptions = new PresentationWatermarkSlideOptions(); textWatermarkOptions.setSlideIndex(0); watermarker.add(textWatermark, textWatermarkOptions); // Add image watermark to the second slide ImageWatermark imageWatermark = new ImageWatermark(“watermark-image.jpg”); PresentationWatermarkSlideOptions imageWatermarkOptions = new PresentationWatermarkSlideOptions(); imageWatermarkOptions.setSlideIndex(1); watermarker.add(imageWatermark, imageWatermarkOptions); watermarker.save(“path/text-image-watermarked.pptx”); watermarker.close(); imageWatermark.close();
Just like with different types of documents, you may also need to add an identifier to your images. Due to the immense popularity of content sharing on social platforms, watermarking photos has also become increasingly significant to prevent misuse. Users prefer embedding text or image watermarks to photos before publishing them on the social platform of their choice. GroupDocs.Watermark APIs provide a set of tools for easily inserting watermark labels into PNG, JPG, TIFF, and GIF image files in .NET and Java platforms.
If you are looking to watermark images by adding text labels, please use the C# code shown below which watermarks a JPG image:
using (Watermarker watermarker = new Watermarker("filePath/sample-image.jpg")) { // Set the Text and Watermark Font Font font = new Font ("Arial", 30, FontStyle.Bold | FontStyle.Italic); TextWatermark watermark = new TextWatermark("Text Watermark", font); // Set Watermark Properties watermark.ForegroundColor = Color.Black; watermark.TextAlignment = TextAlignment.Right; watermark.X = 70; watermark.Y = 70; watermark.RotateAngle = -30; watermark.Opacity = 0.4; // watermark.BackgroundColor = Color.Blue; // Apply the configured watermark to JPG Image watermarker.Add(watermark); watermarker.Save("filePath/text-watermarked.jpg"); }
You can apply watermarks to your photos and other images in Java too. Please use the following Java code to watermark a PNG image:
TextWatermark watermark = new TextWatermark("Text Watermark", new Font("Arial", 30, FontStyle.Bold | FontStyle.Italic)); // Set Watermark properties watermark.setForegroundColor(Color.getBlack()); watermark.setTextAlignment(TextAlignment.Right); watermark.setRotateAngle(-30); watermark.setOpacity(0.4); watermark.setX(70); watermark.setY(70); // Apply Watermark to the source PNG Image Watermarker watermarker = new Watermarker(“path/sample-image.png”); watermarker.add(watermark); watermarker.save(“path/text-watermarked.png”); watermarker.close();
Searching and removing the existing watermarks from documents is an important aspect of cleaning or sanitizing the files, or, it could be a business requirement. Consider the scenario of deleting outdated branding added to your digital assets and replacing it with the latest version. With the help of GroupDocs.Watermark APIs for .NET and Java, you can not only add several types of watermarks to data files but also search through the added watermark objects and remove them too.
To find the watermark in Word, Excel, PowerPoint, PDF, or Visio files in .NET based on some specific criteria, please use this C# sample coding:
using (Watermarker watermarker = new Watermarker(“path/sample.pdf”)) { // Apply the exact text search string TextSearchCriteria textSearchCriteria = new TextSearchCriteria("© 2019"); // Find all possible watermarks containing the specified text PossibleWatermarkCollection possibleWatermarks = watermarker.Search(textSearchCriteria); Console.WriteLine("Found {0} possible watermark(s)", possibleWatermarks.Count); }
Along with searching the existing watermark labels from your files, you can also remove them. Please use this C# coding for removing watermark with the specified formatting:
using (Watermarker watermarker = new Watermarker(“path/sample.pdf”)) { TextFormattingSearchCriteria criteria = new TextFormattingSearchCriteria(); criteria.ForegroundColorRange = new ColorRange(); criteria.ForegroundColorRange.MinHue = -5; criteria.ForegroundColorRange.MaxHue = 10; criteria.ForegroundColorRange.MinBrightness = 0.01f; criteria.ForegroundColorRange.MaxBrightness = 0.99f; criteria.BackgroundColorRange = new ColorRange(); criteria.BackgroundColorRange.IsEmpty = true; criteria.FontName = "Arial"; criteria.MinFontSize = 19; criteria.MaxFontSize = 42; criteria.FontBold = true; PossibleWatermarkCollection watermarks = watermarker.Search(criteria); watermarks.Clear(); watermarker.Save(“path/watermark-removed.pdf”); }
You can search watermarks in Word, PDF, Excel, and PowerPoint documents in Java. The following code is used to search watermarks on a text search criterion:
Watermarker watermarker = new Watermarker(“path/sample.pdf”); // Apply the exact text search string TextSearchCriteria textSearchCriteria = new TextSearchCriteria("© 2019"); // Find all possible watermarks containing the specified text PossibleWatermarkCollection possibleWatermarks = watermarker.search(textSearchCriteria); System.out.println("Found " + possibleWatermarks.getCount() + " possible watermark(s)"); watermarker.close();
Removing any existing watermark labels in Java is also possible with GroupDocs.Watermark for Java API. This Java coding removes a watermark with specific formatting:
Watermarker watermarker = new Watermarker(“path/sample.pdf”); TextFormattingSearchCriteria criteria = new TextFormattingSearchCriteria(); criteria.setForegroundColorRange(new ColorRange()); criteria.getForegroundColorRange().setMinHue(-5); criteria.getForegroundColorRange().setMaxHue(10); criteria.getForegroundColorRange().setMinBrightness(0.01f); criteria.getForegroundColorRange().setMaxBrightness(0.99f); criteria.setBackgroundColorRange(new ColorRange()); criteria.getBackgroundColorRange().setEmpty(true); criteria.setFontName("Arial"); criteria.setMinFontSize(19); criteria.setMaxFontSize(42); criteria.setFontBold(true); PossibleWatermarkCollection watermarks = watermarker.search(criteria); watermarks.clear(); watermarker.save(“path/watermark-removed.pdf”); watermarker.close();
Are you looking to watermark PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, VSD, MSG, EML, RTF, TXT, PNG, JPG, TIFF, and other files on the fly using your mobile devices? If yes, please try our Free Watermarking Apps and have a great watermarking experience.
You can easily export data to Microsoft Excel from various available sources such as JSON, and CSV.
Continue ReadingYou have several Excel workbooks, and you want to combine them together into one file for reporting or to keep data in one place
Continue ReadingConverting Word documents including DOC or DOCX in .NET is a very common requirement
Continue Reading