javaword图片怎么弄 (java word插入图片)

1 实现方法

/**
     * 往word中插入图片
     * @return
     */
    @SneakyThrows
    @PostMapping("insertImage")
    public Ret insertImage(MultipartFile imageFile){
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        builder.writeln("Hello World!");
        //插入图片保持原图尺寸
        builder.insertImage(imageFile.getBytes());
        builder.writeln();
        builder.writeln();
        //按像素插入图片
        builder.insertImage(imageFile.getBytes(),ConvertUtil.pixelToPoint(100), ConvertUtil.pixelToPoint(60));
        builder.writeln();
        builder.writeln();
        //实际导出时 可以会遇到多处地方需要导出图片 各处的图片尺寸需求不一样
        //这时 最简便的就是预先处理图片尺寸 再直接插入图片(在插入时 逐个判断尺寸逻辑 再设置尺寸 这样有点麻烦 而且不利于通用方法的封装)
        //这里介绍一个工具 thumbnailator 可以很方便的修改图片尺寸
        try(
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            InputStream ins = imageFile.getInputStream();
        ){
            Thumbnails.of(ins).forceSize(100,60).toOutputStream(bos);
            builder.insertImage(bos.toByteArray());
        }
        doc.save("C:/Users/Administrator/Desktop/aspose/插入图片.docx", SaveFormat.DOCX);
        return Ret.success();
    }

        <dependency>
            <groupId>net.coobird</groupId>
            <artifactId>thumbnailator</artifactId>
            <version>0.4.18</version>
        </dependency>

2 实现效果

javaword插入图片,javaword模板插入图片