An Interest In:
Web News this Week
- April 27, 2024
- April 26, 2024
- April 25, 2024
- April 24, 2024
- April 23, 2024
- April 22, 2024
- April 21, 2024
Java Add Watermark to Word document
Watermarks are added to the Word documents to specify the ownership or to display the document's status. This article will demonstrate how to add text and image watermarks to word documents in Java using Spire.Doc for Java library.
- Add a Text Watermark to Word
- Add multiple text watermarks to Word
- Add image watermark to Word
- Add multiple image watermarks to Word
Getting Spire.Doc.Jar
Method 1: If you are using maven, you can easily import the JAR file in your application by adding the following code to your project's pom.xml file.
<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository></repositories><dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.doc</artifactId> <version>5.4.2</version> </dependency></dependencies>
Method 2: If you are not using maven, you can download the JAR file from this link, extract the zip file and then import the Spire.Doc.jar file under the lib folder into your project as a dependency.
Add a Text Watermark to Word
The most common text watermarks are confidential and draft, making it difficult to duplicate the original document.
- Create a Document instance and load a sample Word document using Document.loadFromFile() method.
- Get the first section using Document.getSections().get() method.
- Create a TextWatermark instance.
- Set the text, font size, color and layout of the text watermark using the methods offered by TextWatermark class.
- Add the text watermark to sample document using Section.getDocument().setWatermark() method.
- Save the document to another file using Document.saveToFile() method.
import com.spire.doc.*;import com.spire.doc.documents.WatermarkLayout;import java.awt.*;public class Textwatermark { public static void main(String[] args) throws Exception { //Create a Document instance Document document = new Document(); //Load a sample Word document document.loadFromFile("Test.docx"); //Get the first section Section section = document.getSections().get(0); //Create a TextWatermark instance TextWatermark txtWatermark = new TextWatermark(); //Set the format of the text watermark txtWatermark.setText("Confidential"); txtWatermark.setFontSize(40); txtWatermark.setColor(Color.red); txtWatermark.setLayout(WatermarkLayout.Diagonal); //Add the text watermark to document section.getDocument().setWatermark(txtWatermark); //Save the document to file document.saveToFile("output/SingleWatermark.docx", FileFormat.Docx); }}
Add multiple text watermarks to Word
If you want to add multiple text watermarks to a single word document, here are the steps.
- Create a Document instance and load a sample Word document using Document.loadFromFile() method.
- Define a WordArt shape using ShapeObject and set the size and the style for the shape.
- Get the header of the section by HeaderFooter class and then add the header to the paragraph using header.addParagraph() method.
- Copy the WordArt shape and add it to many places by using paragraph.getChildObjects().add(shape) method.
- Save the document to another file using Document.saveToFile() method.
import com.spire.doc.Document;import com.spire.doc.FileFormat;import com.spire.doc.HeaderFooter;import com.spire.doc.Section;import com.spire.doc.documents.Paragraph;import com.spire.doc.documents.ShapeLineStyle;import com.spire.doc.documents.ShapeType;import com.spire.doc.fields.ShapeObject;import java.awt.*;public class MultipleTextwatermark { public static void main(String[] args) throws Exception { //Load the sample document Document document = new Document(); document.loadFromFile("Test.docx"); //Add WordArt shape and set the size ShapeObject shape = new ShapeObject(document, ShapeType.Text_Plain_Text); shape.setWidth(60); shape.setHeight(20); //Set the text, position and style for the shape shape.setVerticalPosition(40); shape.setHorizontalPosition(20); shape.setRotation(315); shape.getWordArt().setText("Confidential"); shape.setFillColor(Color.red); shape.setLineStyle(ShapeLineStyle.Single); shape.setStrokeColor(new Color(245, 192, 192, 255)); shape.setStrokeWeight(1); Section section; HeaderFooter header; for (int n = 0; n < document.getSections().getCount(); n++) { section = document.getSections().get(n); //Get the header of section header = section.getHeadersFooters().getHeader(); Paragraph paragraph; for (int i = 0; i < 5; i++) { //Add the header to the paragraph paragraph = header.addParagraph(); for (int j = 0; j < 4; j++) { //copy the wordart shape and add it to many places shape = (ShapeObject) shape.deepClone(); shape.setVerticalPosition(50 + 150 * i); shape.setHorizontalPosition(20 + 160 * j); paragraph.getChildObjects().add(shape); } } } //Save the document to file document.saveToFile("Output/Multiplewatermarks.docx", FileFormat.Docx_2013); }}
Add image watermark
Image watermark usually defines the ownership of the document.
- Create a Document instance and load a sample Word document using Document.loadFromFile() method.
- Create a PictureWatermark instance.
- Load an image as the image watermark using PictureWatermark.setPicture() method, and then set the image style.
- Add the image watermark to sample document using Document.setWatermark() method.
- Save the document to another file using Document.saveToFile() method.
import com.spire.doc.*;public class ImageWatermark { public static void main(String[] args){ //Create a Document instance Document document = new Document(); //Load a sample Word document document.loadFromFile("Test.docx"); //Create a PictureWatermark instance PictureWatermark picture = new PictureWatermark(); //Set the format of the picture watermark picture.setPicture("logo.png"); picture.setScaling(150); picture.isWashout(false); //Add the image watermark to document document.setWatermark(picture); //Save the result file document.saveToFile("output/SingleImagewatermark.docx",FileFormat.Docx ); }}
Add multiple image watermarks to word
The steps of adding multiple image watermarks to the word document.
- Create a Document instance and load a sample Word document using Document.loadFromFile() method.
- Load an image by using DocPicture.loadImage() method.
- Set the text wrapping style using picture.setTextWrappingStyle() method.
- Get the header of the section by HeaderFooter class and then add the header to the paragraph using header.addParagraph() method.
- Copy the image and add it to many places by using paragraph.getChildObjects().add(image) method.
- Save the document to another file using Document.saveToFile() method.
import com.spire.doc.Document;import com.spire.doc.FileFormat;import com.spire.doc.HeaderFooter;import com.spire.doc.Section;import com.spire.doc.documents.Paragraph;import com.spire.doc.documents.TextWrappingStyle;import com.spire.doc.fields.DocPicture;public class MultipleImageWatermark { public static void main(String[] args){ //Create a Document instance Document document = new Document(); //Load a sample Word document document.loadFromFile("Test.docx"); //Load the image DocPicture picture = new DocPicture(document); picture.loadImage("logo.png"); //Set the text wrapping style picture.setTextWrappingStyle(TextWrappingStyle.Behind); for (int n = 0; n < document.getSections().getCount(); n++) { Section section = document.getSections().get(n); //Get the header of section HeaderFooter header = section.getHeadersFooters().getHeader(); Paragraph paragraph; if(header.getParagraphs().getCount()>0){ paragraph=header.getParagraphs().get(0); }else { //Add the header to the paragraph paragraph = header.addParagraph(); } for (int p = 0; p < 5; p++) { for (int q = 0; q < 4; q++) { //copy the image and add it to many places picture = (DocPicture)picture.deepClone(); picture.setVerticalPosition(100 + 200 * p); picture.setHorizontalPosition(50 + 210 * q); paragraph.getChildObjects().add(picture); } } } //Save the result file document.saveToFile("output/MultipleImagewatermarks.docx",FileFormat.Docx ); } }
Conclusion
In this article, you have learned how to add text and image watermark to Word documents using Java with the help of Spire.Doc for Java. If you have any other questions, please feel free to check the Spire.Doc forums.
Original Link: https://dev.to/alexis92/java-add-watermark-to-word-document-3k4o
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To