本网站(662p.com)打包出售,且带程序代码数据,662p.com域名,程序内核采用TP框架开发,需要联系扣扣:2360248666 /wx:lianweikj
精品域名一口价出售:1y1m.com(350元) ,6b7b.com(400元) , 5k5j.com(380元) , yayj.com(1800元), jiongzhun.com(1000元) , niuzen.com(2800元) , zennei.com(5000元)
需要联系扣扣:2360248666 /wx:lianweikj
Java 在Word中添加多行图片水印
程序猿小军 · 302浏览 · 发布于2021-02-09 +关注

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);//设置图片环绕方式

        //遍历所有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();
    }
}

image.png

相关推荐

PHP实现部分字符隐藏

沙雕mars · 1325浏览 · 2019-04-28 09:47:56
Java中ArrayList和LinkedList区别

kenrry1992 · 908浏览 · 2019-05-08 21:14:54
Tomcat 下载及安装配置

manongba · 970浏览 · 2019-05-13 21:03:56
JAVA变量介绍

manongba · 962浏览 · 2019-05-13 21:05:52
什么是SpringBoot

iamitnan · 1086浏览 · 2019-05-14 22:20:36
加载中

0评论

评论
我是来自差了一点掉完头发的程序猿,小军,希望在这里可以向各位大佬们学习。
分类专栏
小鸟云服务器
扫码进入手机网页