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使用OpenCV3.2实现视频读取与播放

    Java使用OpenCV3.2实现视频读取与播放

    这篇文章主要为大家详细介绍了Java使用OpenCV3.2实现视频读取与播放,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • java操作excel表格详解

    java操作excel表格详解

    在日常工作中,对Excel工作表格的操作处理可是多的数不清楚,下面是java语言对其的操作,有需要的小伙伴可以参考下
    2021-10-10
  • Java多线程实现Callable接口

    Java多线程实现Callable接口

    本文给大家分享的是使用Java多线程来实现callable接口的方法,以及使用方法,另外还有一个网友的实例,希望能够对大家掌握Java多线程有所帮助。
    2016-06-06
  • SpringBoot使用Nacos进行application.yml配置管理

    SpringBoot使用Nacos进行application.yml配置管理

    Nacos是阿里巴巴开源的一个微服务配置管理和服务发现的解决方案,它提供了动态服务发现、配置管理和 服务管理平台,Nacos使用Raft协议保证配置的一致性,同时支持多种配置 格式,如properties、yaml等,本文介绍了SpringBoot使用Nacos进行application.yml配置管理
    2024-12-12
  • java微信开发API第三步 微信获取以及保存接口调用凭证

    java微信开发API第三步 微信获取以及保存接口调用凭证

    这篇文章主要为大家详细介绍了java微信开发API第二步,微信获取以及保存接口调用凭证,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • 解决PageHelper的上下文问题导致SQL查询结果不正确

    解决PageHelper的上下文问题导致SQL查询结果不正确

    主要介绍了PageHelper在使用过程中出现的分页上下文问题,并分析了可能的原因和解决方案,主要解决方案包括每次分页查询后调用`PageHelper.clearPage()`清理分页上下文,确保每次查询前正确调用`startPage`,以及避免在条件判断未执行SQL时影响后续查询
    2024-12-12
  • springsecurity基于token的认证方式

    springsecurity基于token的认证方式

    本文主要介绍了springsecurity基于token的认证方式,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • IDEA 设置显示内存的使用情况和内存回收的方法

    IDEA 设置显示内存的使用情况和内存回收的方法

    这篇文章主要介绍了IDEA 设置显示内存的使用情况和内存回收的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • java实现ssh连接服务器的方法步骤

    java实现ssh连接服务器的方法步骤

    本文主要介绍了java实现ssh连接服务器的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09
  • Java之dao模式详解及代码示例

    Java之dao模式详解及代码示例

    这篇文章主要介绍了Java之dao模式详解及代码示例,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11

最新评论