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("完成");
    }

原文地址:https://www.cnblogs.com/cailijuan/p/9383012.html

时间: 2024-08-10 08:31:56

Aspose.words Java基于模板生成word之循环图片的相关文章

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

一,创建word模板 1.新建一个word文档 2.分别给四个参数设置域 (1)将鼠标置于想要设置域的地方 (2)设置域名 (3)设置好之后如下图所示 二,项目 1,引入maven依赖 <dependency> <groupId>com.aspose</groupId> <artifactId>aspose-words</artifactId> <version>18.5</version> <classifier&

java根据模板生成word文件

原文:java根据模板生成word文件 源代码下载地址:http://www.zuidaima.com/share/1550463664884736.htm AVA生成word模板程序步骤 1. 将freemarker-2.3.13.jar复制到项目\WEB-INF\lib目录下 2. 编辑模板文件 (1) 将DOC文件另存为xml文件,将xml文件在eclipse环境下打开,右键选"源"→"格式".此处注意xml文件属性是UTF-8. (2) 将xml文件中需要替

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

转: Java利用poi生成word(包含插入图片,动态表格,行合并) 2018年12月20日 09:06:51 wjw_11093010 阅读数:70 Java利用poi生成word(包含插入图片,动态表格,行合并) 测试模板样式: Word生成结果: 图表 2需要的jar包:(具体jar可自行去maven下载) 注意:需要严格按照上面版本下载jar包,否则可能出现jar包之间不能匹配的导致代码报错 各种 jar包都可以在这里下载: https://mvnrepository.com/ Tes

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

Java项目引入 Freemarker 插件自行完成. 步骤如下: 1.编写 Word 模板,并将模板中要用代码动态生成数据用 Freemarker 变量取代,即${变量名},如${username}: 2.把该 word 文档 另存为 xml 文件(格式选择 Word 2003 XML,注意是另存为,不是改扩展名为 xml),然后再改扩展名为 ftl: 3.用编辑软件打开最后的 ftl 文件,并用查找功能查找第一步中定义的变量名,如:username, 就会发现 Word 软件在将 Word

使用模板生成word文档

使用poi-tl根据模板生成word文档,在porm.xml中添加poi-tl依赖,直接上代码 import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.Map; import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.render.RenderAPI; import com.thinkge

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

利用html模板生成Word文件(服务器端不需要安装Word) 由于管理的原因,不能在服务器上安装Office相关组件,所以只能采用客户端读取Html模板,后台对模板中标记的字段数据替换并返回给客户端的方法来实现,经过测试这种方法也是一种不错的选择! 首先自己写一个html网页模板,代码如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>

根据html生成Word文件,包含图片

根据html内容生成word,并自动下载下来.使用到了itext-1.4.6.jar import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.io.StringReader; import java.net.URLEncoder; import

使用java Apache poi 根据word模板生成word报表

项目开发过程中,客户提出一堆导出报表的需求,需要导出word格式,页眉还需要加上客户公司的logo,试了几种方案,最后选择了用 Apache poi 加上自定义标签的方式实现. 目前功能还比较简单,一些复杂的表格做不了,但是已经基本满足项目需求了. 使用poi读取word模板,替换word中的{text}标签,并根据自定义标签循环生成表格或表格中的行. 代码示例下载:https://download.csdn.net/download/u012775558/10306308 注意,仅支持docx

java通过word模板生成word文档

介绍 上次公司项目需要一个生成word文档的功能,有固定的模板根据业务填充数据即可,由于从来没做过,项目也比较着急于是去网上找有没有合适的工具类,找了好几种,看到其中有freeMark模板生成比较靠谱于是采用这个,正常生成成功了还挺高兴的于是修改优化部署测试,出问题了,由于我一直使用wps可以正常打开,但是同事使用office打不开,于是各种查找原因都没好,于是只能转变思路又试了两种还是不好用,直到发现这款模板生成 poi-tl 真的做的很不错,而且是国人写的,关于学习这个东西还是看官方文档的好