Word中设置水印效果时,不论是文本水印或者是图片水印都只能添加单个文字或者图片到Word页面,效果比较单一,本文通过Java代码示例介绍如何在页面中添加多行图片水印效果,即水印效果以多个图片平铺到页面。
思路及方法:获取Word页眉,添加图片到页眉段落,并复制图片。
程序环境:使用spire.doc.jar,版本3.9.0
import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.TextWrappingStyle;
import com.spire.doc.fields.DocPicture;
//java项目源码www.fhadmin.org
public class ImageWatermark {
public static void main(String[] args) {
//加载Word文档
Document doc=new Document();
doc.loadFromFile("input.docx");
//加载图片
DocPicture picture = new DocPicture(doc);
picture.loadImage("logo.png");
picture.setTextWrappingStyle(TextWrappingStyle.Behind);//设置图片环绕方式
//遍历所有section
for (int n = 0; n < doc.getSections().getCount(); n++) {
Section section = doc.getSections().get(n);
//获取section的页眉
HeaderFooter header = section.getHeadersFooters().getHeader();
Paragraph paragrapg1;
//获取或添加段落
if(header.getParagraphs().getCount()>0)
{
paragrapg1 = header.getParagraphs().get(0);
}
else
{
paragrapg1 = header.addParagraph();
}
//复制图片,并添加图片到段落
for (int p = 0; p < 4; p++) {
for (int q = 0; q < 3; q++) {
picture = (DocPicture)picture.deepClone();
picture.setVerticalPosition(50 + 150 * p);
picture.setHorizontalPosition(10 + 140 * q);
paragrapg1.getChildObjects().add(picture);
}
}
}
//保存文档
doc.saveToFile("output.docx", FileFormat.Docx_2013);
doc.dispose();
}
}
来源:oschina
链接:https://my.oschina.net/fhadmin/blog/4955962