Word中设置水印效果时,不论是文本水印或者是图片水印都只能添加单个文字或者图片到Word页面,效果比较单一,本文通过Java代码示例介绍如何在页面中添加多行图片水印效果,即水印效果以多个图片平铺到页面。(添加多行文字水印效果,可以查看这篇文章中的方法)

思路及方法:获取Word页眉,添加图片到页眉段落,并复制图片。

程序环境:使用spire.doc.jar,版本:3.9.0

Java代码:

import com.spire.doc.*;import com.spire.doc.documents.Paragraph;import com.spire.doc.documents.TextWrappingStyle;import com.spire.doc.fields.DocPicture;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);//设置图片环绕方式//遍历所有sectionfor (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();
    }
}

Java 在Word中添加多行图片水印_Java