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

 更新时间:2021年02月09日 22:13:13   作者:E-iceblue  
这篇文章主要介绍了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();
 }
}

到此这篇关于Java在Word中添加多行图片水印的文章就介绍到这了,更多相关Java添加图片水印内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JAVA面试题 start()和run()详解

    JAVA面试题 start()和run()详解

    这篇文章主要介绍了JAVA面试题 启动线程是start()还是run()?为什么?,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 浅谈servlet中的request与response

    浅谈servlet中的request与response

    下面小编就为大家带来一篇浅谈servlet中的request与response。小编觉得挺不错的,现在就分享给大家,也给大家做个参加。一起跟随小编过来看看吧
    2016-07-07
  • JavaWeb 使用Session实现一次性验证码功能

    JavaWeb 使用Session实现一次性验证码功能

    这篇文章主要介绍了JavaWeb 使用Session实现一次性验证码功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • MyBatis多对多映射初识教程

    MyBatis多对多映射初识教程

    这篇文章重点给大家介绍mybatis多对多映射,多对多映射的例子也很常见,本文通过代码实例相结合的方式给大家介绍mybatis多对多映射,需要的朋友参考下吧
    2016-08-08
  • 使用Springboot注入带参数的构造函数实例

    使用Springboot注入带参数的构造函数实例

    这篇文章主要介绍了使用Springboot注入带参数的构造函数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Java java.sql.Timestamp时间戳案例详解

    Java java.sql.Timestamp时间戳案例详解

    这篇文章主要介绍了Java java.sql.Timestamp时间戳案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Java实现AI五子棋游戏的示例代码

    Java实现AI五子棋游戏的示例代码

    本文只是介绍五子棋AI的实现,最终的成品只是一个 AI 接口,并不包括 GUI,且不依赖 GUI,文中的示例代码讲解详细,感兴趣的可以尝试一下
    2022-09-09
  • Spring常用数据源的xml配置详解

    Spring常用数据源的xml配置详解

    这篇文章主要介绍了Spring常用数据源的xml配置详解,数据源是连接到数据库的一类路径,它包含了访问数据库的信息(地址、用户名、密码),数据源就像是排水管道,需要的朋友可以参考下
    2023-07-07
  • java命令执行jar包的多种方法(四种方法)

    java命令执行jar包的多种方法(四种方法)

    本文通过四种方法给大家介绍java命令执行jar包的方式,每种方法通过实例代码给大家详解,需要的朋友参考下吧
    2019-11-11
  • SpringBoot监控模块Actuator的用法详解

    SpringBoot监控模块Actuator的用法详解

    Spring Boot Actuator 是 Spring Boot 自带的一个功能模块,提供了一组已经开箱即用的生产环境下常用的特性和服务,比如应用程序的健康检查、信息暴露、度量收集、日志记录等,本文将给大家详细SpringBoot监控模块Actuator的用法
    2023-06-06

最新评论