前言
我在以往的文章中曾介绍过如何给Word文档添加文本水印和图片水印,及怎样删除文档中的水印。关于文本水印,之前那篇教程里主要指的是单行字体的水印,而在操作Word文档时,有时也会碰到需要添加多行文字水印的情况。所以,本文将演示如何使用Java程序来为Word文档添加多行文字水印。
代码测试环境:
Intellij Idea2019.1
JDK 1.8.0
Spire.Doc.jar
Jar包获取及导入
方法一:手动将Jar包导入IDEA。具体步骤如下:
步骤 2:解压产品包,找到lib文件下的Spire.Doc.jar。
步骤 3:将Spire.Doc.jar手动导入IDEA中。
方法二: 通过Maven仓库安装导入产品及相关依赖。创建一个Maven应用程序,在pom.xml文件中配置Maven仓库路径及指定Spire.Doc for Java的Maven依赖。
com.e-iceblue
http://repo.e-iceblue.cn/repository/maven-public/
e-iceblue
spire.doc.free
2.7.3
配置完成后,在IDEA中,您需点击"Import Changes"即可导入JAR包;在Eclipse中,则需要点击"Save"按钮。
代码演示
Free Spire.Doc for Java通过在Word页眉中添加艺术字来实现为文档添加多行文字水印。具体代码如下:
1 importcom.spire.doc.Document;2 importcom.spire.doc.FileFormat;3 importcom.spire.doc.HeaderFooter;4 importcom.spire.doc.Section;5 importcom.spire.doc.documents.Paragraph;6 importcom.spire.doc.documents.ShapeLineStyle;7 importcom.spire.doc.documents.ShapeType;8 importcom.spire.doc.fields.ShapeObject;9 import java.awt.*;10 public classmultiTextWatermark {11 public static voidmain(String[] args) {12 //加载示例文档
13 Document doc = newDocument();14 doc.loadFromFile("C:\Users\Test1\Desktop\Sample.docx");15 //添加艺术字并设置大小
16 ShapeObject shape = newShapeObject(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包导入有疑问的,可评论或私信。
内容来源于网络如有侵权请私信删除