java使用aspose添加多个图片到word

1,word模板里插入文本域,不同的工具,域的类别不一样。wps的域类别叫做 邮件合并

注意的是:文本域的格式就是最终图片显示的格式,例子里的是居中对齐

2,模板制作好,接着写代码。依赖如下

复制代码
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>23.6</version>
</dependency>

3,代码很简单

复制代码
public static void main(String[] args) throws Exception {
        // 1. 加载模板
        Document doc = new Document("D:\\work\\test\\template.doc");
        DocumentBuilder builder = new DocumentBuilder(doc);

        // 2. 定位到书签位置(假设模板中有一个名为 "images" 的书签)
        builder.moveToMergeField("images");

        // 3. 插入多张图片
        List<String> imagePaths = Arrays.asList(
                "D:\\work\\test\\111.png",
                "D:\\work\\test\\222.png",
                "D:\\work\\test\\333.png",
                "D:\\work\\test\\333.png"
        );

        for (String path : imagePaths) {
            File file = new File(path);
            BufferedImage image = ImageIO.read(file);
            builder.insertImage(image,150,60);
            // 换行
            builder.writeln();
        }
//         4. 保存文档
        doc.save("D:\\work\\test\\output.doc");
    }

结果如下:插入了4张图片。我用的都是一个图片,只不过多复制了几个,改了文件名

相关推荐
橘颂TA2 分钟前
线程池与线程安全:后端开发的 “性能 + 安全” 双维实践
java·开发语言·安全
色空大师13 分钟前
服务打包包名设置
java·elasticsearch·maven·打包
xiaoyustudiowww19 分钟前
fetch异步简单版本(Tomcat 9)
java·前端·tomcat
隐退山林23 分钟前
JavaEE:多线程初阶(一)
java·开发语言·jvm
最贪吃的虎29 分钟前
Redis其实并不是线程安全的
java·开发语言·数据库·redis·后端·缓存·lua
一勺菠萝丶31 分钟前
Java 后端想学 Vue,又想写浏览器插件?
java·前端·vue.js
xie_pin_an32 分钟前
C++ 类和对象全解析:从基础语法到高级特性
java·jvm·c++
Tao____34 分钟前
企业级物联网平台
java·网络·物联网·mqtt·网络协议
山峰哥35 分钟前
数据库工程与SQL调优实战:从原理到案例的深度解析
java·数据库·sql·oracle·性能优化·编辑器
kaico201836 分钟前
远程调用组件openfeign
java·spring cloud