评论

收藏

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

编程语言 编程语言 发布于:2021-09-12 13:12 | 阅读数:321 | 评论:0

这篇文章主要介绍了Java在Word中添加多行图片,图文讲解的很清晰,有对于这方面不懂得同学可以跟着研究下
Word中设置水印效果时,不论是文本水印或者是图片水印都只能添加单个文字或者图片到Word页面,效果比较单一,本文通过Java代码示例介绍如何在页面中添加多行图片水印效果,即水印效果以多个图片平铺到页面。(添加多行文字水印效果,可以查看这篇文章中的方法)
程序环境:使用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();
 }
}
DSC0000.png

到此这篇关于Java在Word中添加多行图片水印的文章就介绍到这了,更多相关Java添加图片水印内容请搜索CodeAE代码之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持CodeAE代码之家!
原文链接:https://www.cnblogs.com/Yesi/p/14392762.html

关注下面的标签,发现更多相似文章