From 62efd8e0e82fb0e281eef2ce9161499f52d2cbe2 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期五, 11 四月 2025 16:29:58 +0800 Subject: [PATCH] 合同导入 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/WordUtil.java | 16 ++++++++++------ 1 files changed, 10 insertions(+), 6 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/WordUtil.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/WordUtil.java index b6f707b..d6645e9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/WordUtil.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/WordUtil.java @@ -6,6 +6,7 @@ import freemarker.template.Template; import freemarker.template.TemplateException; import lombok.extern.slf4j.Slf4j; +import net.coobird.thumbnailator.Thumbnails; import org.apache.poi.util.Units; import org.apache.poi.xwpf.usermodel.*; import org.springframework.mock.web.MockMultipartFile; @@ -13,6 +14,8 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; import java.io.*; import java.util.*; import java.util.regex.Matcher; @@ -70,12 +73,13 @@ Base64.Decoder decoder = Base64.getDecoder(); byte[] imageByte = decoder.decode(url); InputStream stream = new ByteArrayInputStream(imageByte); - File tempFile = FileUtil.createTempFile("/usr/local/project/file/temp", ".jpg", true); -// File tempFile = File.createTempFile("/usr/local/project/file/temp", ".jpg"); -// tempFile.deleteOnExit(); // 程序结束时删除文件 +// File tempFile = FileUtil.createTempFile("/usr/local/project/file/temp", ".jpg", true); + File tempFile = File.createTempFile("/usr/local/project/file/temp", ".jpg"); + tempFile.deleteOnExit(); // 程序结束时删除文件 try (OutputStream out = new FileOutputStream(tempFile); InputStream in = stream) { + Thumbnails.of(in).scale(0.8).rotate(270).outputFormat("jpg").toOutputStream(out); byte[] buffer = new byte[1024]; int length; // 从原始流读取数据并写入临时文件 @@ -83,7 +87,7 @@ out.write(buffer, 0, length); } } - + //处理图片 for (XWPFParagraph paragraph : document.getParagraphs()) { List<XWPFRun> runs = paragraph.getRuns(); @@ -92,8 +96,8 @@ if (text != null && text.contains("picture")) { run.setText("", 0); // 清除占位符文本 run.addPicture( - new FileInputStream(new File("/usr/local/project/file/sign.jpg")), XWPFDocument.PICTURE_TYPE_JPEG, - "/usr/local/project/file/sign.jpg", + new FileInputStream(tempFile), XWPFDocument.PICTURE_TYPE_JPEG, + tempFile.getName(), Units.toEMU(60), Units.toEMU(30)); // 插入图片 } -- Gitblit v1.7.1