天天看点

Java操作word模板插入图片

Java操作word模板插入图片

1.制作word模板,插入图片使用语法@,支持插入本地图片和网络图片

{{@localPicture}}

{{@urlPicture}}

2.使用Poi-tl,添加依赖

<dependency>
    <groupId>com.deepoove</groupId>
    <artifactId>poi-tl</artifactId>
    <version>1.0.0</version>
</dependency>           

3.Java代码示例

public void testNumbericRender() throws Exception {
        Map<String, Object> datas = new HashMap<String, Object>() {
            {
                //本地图片
                put("localPicture", new PictureRenderData(100, 120, "src/test/resources/logo.png"));
                //网路图片 
                put("urlPicture", new PictureRenderData(100, 100, ".png", BytePictureUtils.getUrlByteArray("https://avatars3.githubusercontent.com/u/1394854?v=3&s=40")));
            }
        };

        XWPFTemplate template = XWPFTemplate.compile("~/picture.docx")
                .render(datas);

        FileOutputStream out = new FileOutputStream("out_picture.docx");
        template.write(out);
        out.flush();
        out.close();
        template.close();
    }