Java 在Word中添加多行圖片水印


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();
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM