1. 程式人生 > 實用技巧 >Java 如何給Word文件新增多行文字水印

Java 如何給Word文件新增多行文字水印

前言

我在以往的文章中曾介紹過如何給Word文件新增文字水印和圖片水印,及怎樣刪除文件中的水印。關於文字水印,之前那篇教程裡主要指的是單行字型的水印,而在操作Word文件時,有時也會碰到需要新增多行文字水印的情況。所以,本文將演示如何使用Java程式來為Word文件新增多行文字水印。

程式碼測試環境:

  • Intellij Idea2019.1
  • JDK 1.8.0
  • Spire.Doc.jar

Jar包獲取及匯入

方法一:手動將Jar包匯入IDEA。具體步驟如下:

步驟 1:E-iceblue中文官網註冊並登陸賬號,進入Free Spire.Doc for Java下載頁面下載產品包。

步驟 2:

解壓產品包,找到lib檔案下的Spire.Doc.jar。

步驟 3:將Spire.Doc.jar手動匯入IDEA中。

方法二: 通過Maven倉庫安裝匯入產品及相關依賴。建立一個Maven應用程式,在pom.xml檔案中配置Maven倉庫路徑及指定Spire.Doc for Java的Maven依賴。

<repositories>
<repository>
<id>com.e-iceblue</id>
<url>http://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId> e-iceblue </groupId>
<artifactId>spire.doc.free</artifactId>
<version>2.7.3</version>
</dependency>
</dependencies>

配置完成後,在IDEA中,您需點選"Import Changes"即可匯入JAR包;在Eclipse中,則需要點選"Save"按鈕。

程式碼演示

Free Spire.Doc for Java通過在Word頁首中新增藝術字來實現為文件新增多行文字水印。具體程式碼如下:

 1 import com.spire.doc.Document;
 2 import com.spire.doc.FileFormat;
 3 import com.spire.doc.HeaderFooter;
 4 import com.spire.doc.Section;
 5 import com.spire.doc.documents.Paragraph;
6 import com.spire.doc.documents.ShapeLineStyle; 7 import com.spire.doc.documents.ShapeType; 8 import com.spire.doc.fields.ShapeObject; 9 import java.awt.*; 10 public class multiTextWatermark { 11 public static void main(String[] args) { 12 //載入示例文件 13 Document doc = new Document(); 14 doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.docx"); 15 //新增藝術字並設定大小 16 ShapeObject shape = new ShapeObject(doc, ShapeType.Text_Plain_Text); 17 shape.setWidth(60); 18 shape.setHeight(20); 19 //設定藝術字文字內容、顏色,位置及樣式 20 shape.setVerticalPosition(30); 21 shape.setHorizontalPosition(20); 22 shape.setRotation(315); 23 shape.getWordArt().setText("內部使用"); 24 shape.setFillColor(Color.green); 25 shape.setLineStyle(ShapeLineStyle.Single); 26 shape.setStrokeColor(new Color(192, 192, 192, 255)); 27 shape.setStrokeWeight(1); 28 29 Section section; 30 HeaderFooter header; 31 for (int n = 0; n < doc.getSections().getCount(); n++) { 32 section = doc.getSections().get(n); 33 //獲取section的頁首 34 header = section.getHeadersFooters().getHeader(); 35 Paragraph paragraph1; 36 for (int i = 0; i < 4; i++) { 37 //新增段落到頁首 38 paragraph1 = header.addParagraph(); 39 for (int j = 0; j < 3; j++) { 40 //複製藝術字並設定多行多列位置 41 shape = (ShapeObject) shape.deepClone(); 42 shape.setVerticalPosition(50 + 150 * i); 43 shape.setHorizontalPosition(20 + 160 * j); 44 paragraph1.getChildObjects().add(shape); 45 } 46 } 47 } 48 //儲存文件 49 doc.saveToFile("output/multi-lineTextwatermark.docx", FileFormat.Docx_2013); 50 } 51 }

新增效果:

總結:

通過運用以上程式碼,多行文字水印能夠完整清晰準確地被插入到Word文件中。若對程式碼或Jar包匯入有疑問的,可評論或私信。