Aspose.words Java基于模板生成word之循环图片
1.新建一个word文档

2.给插入图片的地方设置书签

3,设置书签

二,项目
1,2步的引入依赖以及加载授权文件同上一篇
3,获取图片路径插入到word中并生成新的word文档
新文档中,每行显示两张图片
public static void main(String[] args) throws Exception {
// 验证License
if (!getLicense()) {
return;
}
//模板word
String template = "E:\\test\\temp.docx";
//目标word
String destdoc = "E:\\test\\edit.docx";
//定义文档接口
Document doc = new Document(template);
//图片路径
List<String> pathList = new ArrayList<>();
pathList.add("E:\\test\\image1.jpg");
pathList.add("E:\\test\\image2.jpg");
pathList.add("E:\\test\\image3.jpg");
pathList.add("E:\\test\\image4.jpg");
pathList.add("E:\\test\\image5.jpg");
DocumentBuilder builder = new DocumentBuilder(doc);
//定位到指定位置
builder.moveToBookmark("pics");
double length = pathList.size();
for (int i = 0; i < Math.ceil(length/2.0); i++){
for (int j = 0; j < 2; j++){
int index = i*2 + j;
if (index < pathList.size()){
if (i == 0){
if (j == 0){
builder.insertImage(pathList.get(index), RelativeVerticalPosition.MARGIN,1, RelativeHorizontalPosition.MARGIN,130,200,220,WrapType.INLINE);
}else {
builder.insertImage(pathList.get(index),RelativeVerticalPosition.MARGIN,230,RelativeHorizontalPosition.MARGIN,130,200,220,WrapType.INLINE);
}
}else {
if (j == 0){
builder.insertImage(pathList.get(index),RelativeVerticalPosition.MARGIN,1,RelativeHorizontalPosition.MARGIN,(130+220*i+10*i),200,220,WrapType.INLINE);
}else {
builder.insertImage(pathList.get(index),RelativeVerticalPosition.MARGIN,230,RelativeHorizontalPosition.MARGIN,(130+220*i+10*i),200,220,WrapType.INLINE);
}
}
}
builder.write(" ");
}
builder.writeln();
}
//调用接口
doc.save(destdoc);
System.out.println("完成");
}
Aspose.words Java基于模板生成word之循环图片的更多相关文章
- Aspose.words Java基于模板生成word之纯文本内容
一,创建word模板 1.新建一个word文档 2.分别给四个参数设置域 (1)将鼠标置于想要设置域的地方 (2)设置域名 (3)设置好之后如下图所示 二,项目 1,引入maven依赖 <dep ...
- Java利用poi生成word(包含插入图片,动态表格,行合并)
转(小改): Java利用poi生成word(包含插入图片,动态表格,行合并) 2018年12月20日 09:06:51 wjw_11093010 阅读数:70 Java利用poi生成word(包含插 ...
- Java 使用模板生成 Word 文件---基于 Freemarker 模板框架
Java项目引入 Freemarker 插件自行完成. 步骤如下: .编写 Word 模板,并将模板中要用代码动态生成数据用 Freemarker 变量取代,即${变量名},如${username}: ...
- java基于feemarker 生成word文档(超级简单)
问题由来: 开发个新需求,需要按规定导出word文档,文档截图如下 因为之前没做过这个,一脸懵B啊,导出excel和txt倒是经常接触到,对于这个word这种格式不严谨的文件怎么处理呢? 技术选型:可 ...
- Java根据模板生成Word文档
一,首先制作模板 1.先做一个Word文档, 2.打开Word,然后另存为*.xml文件 3.最后修改*.xml文件的后缀名为*.ftl 二,打开项目编辑器Idea,在pom文件中引入相关架包依赖(我 ...
- 利用html模板生成Word文件(服务器端不需要安装Word)
利用html模板生成Word文件(服务器端不需要安装Word) 由于管理的原因,不能在服务器上安装Office相关组件,所以只能采用客户端读取Html模板,后台对模板中标记的字段数据替换并返回给客户端 ...
- C#通过模板导出Word(文字,表格,图片)
C#通过模板导出Word(文字,表格,图片) C#导出Word,Excel的方法有很多,这次因为公司的业务需求,需要导出内容丰富(文字,表格,图片)的报告,以前的方法不好使,所以寻找新的导出方法, ...
- Java基于OpenCV实现走迷宫(图片+路线展示)
Java基于OpenCV实现走迷宫(图片+路线展示) 由于疫情,待在家中,太过无聊.同学发了我张迷宫图片,让我走迷宫来缓解暴躁,于是乎就码了一个程序出来.特此记录. 原图: 这张图,由于不是非常清晰, ...
- Java根据Freemarker模板生成Word文件
1. 准备模板 模板 + 数据 = 模型 1.将准备好的Word模板文件另存为.xml文件(PS:建议使用WPS来创建Word文件,不建议用Office) 2.将.xml文件重命名为.ftl文件 3 ...
随机推荐
- 980. Unique Paths III
题目来源: https://leetcode.com/problems/unique-paths-iii/ 自我感觉难度/真实难度: 题意: 分析: 回溯法,直接DFS就可以了 自己的代码: clas ...
- java中的对象和类
1.类:类是一个模板,它描述一类对象的行为和状态. 一个类可以包含以下类型变量: 局部变量:在方法.构造方法或者语句块中定义的变量被称为局部变量.变量声明和初始化都是在方法中,方法结束后,变量就会自动 ...
- java核心技术-多线程之线程基础
说起线程,无法免俗首先要弄清楚的三个概念就是:进程.线程.协程.OK,那什么是进程,什么是线程,哪协程又是啥东西.进程:进程可以简单的理解为运行在操作系统中的程序,程序时静态代码,进程是动态运行着的代 ...
- 0CO_PC_ACT_10 不能提取NV类别的数据
今天用 BW 标准数据源 0CO_PC_ACT_10 提取数据时,发现物料有一项数据[没有被分摊]无法取到. 根据SAP的解释,此项不在后台存数,通过前台动态生成. For the virtual c ...
- PHP 抓取函数curl 实践
最近在学习curl的抓取实践, 在里面也学到了一些东西. 有一些网站需要cookie才可以抓取成功.这个时候我们就可以通过fiddle4 去抓包实现.然后通过构建头部信息 ,绕过网站端的验证. 以下是 ...
- angularjs-ui-router-animation
html <!DOCTYPE html> <html ng-app="APP"> <head> <title></title& ...
- struts2第三天——值栈
大致内容: ognl概述 ognl入门 值栈 一.OGNL概述 OGNL,全称为Object-Graph Navigation Language,对象图导航语言 它是一个功能强大的表达式语言,用来获取 ...
- JavaWeb基础—MySQL入门小结
一.数据库概述 RDBMS:关系型数据库管理系统 == 管理员(manager)+仓库(database) 常见数据库: Oracle(神喻):甲骨文 MySQL: 归于甲骨文旗下(高版本系统已经开 ...
- linux 监控文件变化
介绍 有时候我们常需要当文件变化的时候便触发某些脚本操作,比如说有文件更新了就同步文件到远程机器.在实现这个操作上,主要用到两个工具,一个是rsync,一个是inotifywait .inotifyw ...
- RabbitMQ(一):Window安装RabbitMQ
原文:RabbitMQ(一):Window安装RabbitMQ 1.安装ERLANG语言环境 由于RabbitMQ是采用Erlang编写的,因此我们需要先安装该语言库,以便运行代理服务器.从Erlan ...