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頁眉中添加藝術字來實現為文檔添加多行文字水印。具體代碼如下:

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 multiTextWatermark {
 public static void main(String[] args) {
  //加載示例文檔
  Document doc = new Document();
  doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.docx");
  //添加藝術字並設置大小
  ShapeObject shape = new ShapeObject(doc, ShapeType.Text_Plain_Text);
  shape.setWidth(60);
  shape.setHeight(20);
  //設置藝術字文本內容、顏色,位置及樣式
  shape.setVerticalPosition(30);
  shape.setHorizontalPosition(20);
  shape.setRotation(315);
  shape.getWordArt().setText("內部使用");
  shape.setFillColor(Color.green);
  shape.setLineStyle(ShapeLineStyle.Single);
  shape.setStrokeColor(new Color(192, 192, 192, 255));
  shape.setStrokeWeight(1);

  Section section;
  HeaderFooter header;
  for (int n = 0; n < doc.getSections().getCount(); n++) {
   section = doc.getSections().get(n);
   //獲取section的頁眉
   header = section.getHeadersFooters().getHeader();
   Paragraph paragraph1;
   for (int i = 0; i < 4; i++) {
    //添加段落到頁眉
    paragraph1 = header.addParagraph();
    for (int j = 0; j < 3; j++) {
     //復制藝術字並設置多行多列位置
     shape = (ShapeObject) shape.deepClone();
     shape.setVerticalPosition(50 + 150 * i);
     shape.setHorizontalPosition(20 + 160 * j);
     paragraph1.getChildObjects().add(shape);
    }
   }
  }
  //保存文檔
  doc.saveToFile("output/multi-lineTextwatermark.docx", FileFormat.Docx_2013);
 }
}

添加效果:

總結:

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

到此這篇關於Java如何給Word文檔添加多行文字水印的文章就介紹到這瞭,更多相關Java如何添加文字水印內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!