前言
我在以往的文章中曾介绍过如何给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