前言
我在以往的文章中曾介紹過如何給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依賴。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
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如何添加文字水印內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.cnblogs.com/Yesi/p/13627502.html