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之循环图片的更多相关文章

  1. Aspose.words Java基于模板生成word之纯文本内容

    一,创建word模板 1.新建一个word文档 2.分别给四个参数设置域 (1)将鼠标置于想要设置域的地方 (2)设置域名 (3)设置好之后如下图所示 二,项目 1,引入maven依赖 <dep ...

  2. Java利用poi生成word(包含插入图片,动态表格,行合并)

    转(小改): Java利用poi生成word(包含插入图片,动态表格,行合并) 2018年12月20日 09:06:51 wjw_11093010 阅读数:70 Java利用poi生成word(包含插 ...

  3. Java 使用模板生成 Word 文件---基于 Freemarker 模板框架

    Java项目引入 Freemarker 插件自行完成. 步骤如下: .编写 Word 模板,并将模板中要用代码动态生成数据用 Freemarker 变量取代,即${变量名},如${username}: ...

  4. java基于feemarker 生成word文档(超级简单)

    问题由来: 开发个新需求,需要按规定导出word文档,文档截图如下 因为之前没做过这个,一脸懵B啊,导出excel和txt倒是经常接触到,对于这个word这种格式不严谨的文件怎么处理呢? 技术选型:可 ...

  5. Java根据模板生成Word文档

    一,首先制作模板 1.先做一个Word文档, 2.打开Word,然后另存为*.xml文件 3.最后修改*.xml文件的后缀名为*.ftl 二,打开项目编辑器Idea,在pom文件中引入相关架包依赖(我 ...

  6. 利用html模板生成Word文件(服务器端不需要安装Word)

    利用html模板生成Word文件(服务器端不需要安装Word) 由于管理的原因,不能在服务器上安装Office相关组件,所以只能采用客户端读取Html模板,后台对模板中标记的字段数据替换并返回给客户端 ...

  7. C#通过模板导出Word(文字,表格,图片)

    C#通过模板导出Word(文字,表格,图片)   C#导出Word,Excel的方法有很多,这次因为公司的业务需求,需要导出内容丰富(文字,表格,图片)的报告,以前的方法不好使,所以寻找新的导出方法, ...

  8. Java基于OpenCV实现走迷宫(图片+路线展示)

    Java基于OpenCV实现走迷宫(图片+路线展示) 由于疫情,待在家中,太过无聊.同学发了我张迷宫图片,让我走迷宫来缓解暴躁,于是乎就码了一个程序出来.特此记录. 原图: 这张图,由于不是非常清晰, ...

  9. Java根据Freemarker模板生成Word文件

    1.  准备模板 模板 + 数据 = 模型 1.将准备好的Word模板文件另存为.xml文件(PS:建议使用WPS来创建Word文件,不建议用Office) 2.将.xml文件重命名为.ftl文件 3 ...

随机推荐

  1. cpu 基础知识

    认识cpu(中央处理器简称处理器)也叫CPU,Central Processing Unit线程是安排CPU执行的最小单位 四核八线程内涵: 每个单位时间内,一个CPU只能处理一个线程(操作系统:th ...

  2. java_继承、实现、依赖、关联、聚合、组合的代码表示

    一.继承.实现.依赖.关联.聚合.组合的简单代码表示 1.继承关系 1).文字描述 一个类或者接口继承了另一个类或者接口,增加了在原有的方法和属性上增加了新的方法和属性. 2).代码表示 class ...

  3. 如何编写编译Robocup3D代码

    目录 开始编写球队代码 void NaoBehavior::beam() SkillType NaoBehavior::PlayOnSkill() 其他阶段函数 修复make异常 开始编写球队代码 装 ...

  4. HTML:5meta标签

    <h2>一些常用的移动端的meta属性设置</h2><!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 --> & ...

  5. 机器学习练习(一)-使用jupyter notebook

    一个简单的分类机器学习练习,基于sklearn.sklearn是Python中的一个机器学习模块.它其中有数据.非常方便我们用它来训练机器学习的模型,和验证我们的想法.(官方网站:https://sc ...

  6. struts2第一天——入门和基本操作

    一.概述 1.运用场景: 应用于三层架构中web层的框架(显示层的运用),是经典MVC模型的web应用的变体. 2.与struts1的对比: struts2是在struts1基于webwork发展的全 ...

  7. JavaWeb基础—项目名的写法

    ${pageContext.request.contextPath} //jsp中 request.getContextPath() //Servlet中 两者获取到的都是"/项目名称&qu ...

  8. 《Java 程序设计》课堂实践项目-类定义

    <Java 程序设计>课堂实践项目类定义 课后学习总结 目录 改变 类定义实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改. ...

  9. Comet OJ CCPC-Wannafly Winter Camp Day8 A Aqours

    A Aqours 链接 分析: 给出的点可以视为是按照BFS序给的,也就是说从浅到深给出.可以再给每个节点u维护一个f值,表示离u最近的叶子节点到它的距离. 所以每当扫到一个叶子节点,就可以暴力往根节 ...

  10. How to use the windows active directory to authenticate user via logon form 如何自定义权限系统,使用 active directory验证用户登录

    https://www.devexpress.com/Support/Center/Question/Details/Q345615/how-to-use-the-windows-active-dir ...