From 025c0a2b067bad8c5dcfb65d7d93ef51f33a11e6 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 11 四月 2025 11:31:23 +0800 Subject: [PATCH] 修改world插入图片 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/WordUtil.java | 38 +++++++++++++++++++++----------------- 1 files changed, 21 insertions(+), 17 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 5946deb..b6f707b 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 @@ -1,5 +1,6 @@ package com.ruoyi.web.controller.tool; +import cn.hutool.core.io.FileUtil; import freemarker.cache.ClassTemplateLoader; import freemarker.template.Configuration; import freemarker.template.Template; @@ -69,8 +70,9 @@ Base64.Decoder decoder = Base64.getDecoder(); byte[] imageByte = decoder.decode(url); InputStream stream = new ByteArrayInputStream(imageByte); - 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) { @@ -81,6 +83,23 @@ out.write(buffer, 0, length); } } + + //处理图片 + for (XWPFParagraph paragraph : document.getParagraphs()) { + List<XWPFRun> runs = paragraph.getRuns(); + for (XWPFRun run : runs) { + String text = run.getText(0); + 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", + Units.toEMU(60), + Units.toEMU(30)); // 插入图片 + } + } + } + // 处理段落 for (XWPFParagraph paragraph : document.getParagraphs()) { replaceParagraph(paragraph, dataMap); @@ -93,21 +112,6 @@ for (XWPFParagraph paragraph : cell.getParagraphs()) { replaceParagraph(paragraph, dataMap); } - } - } - } - //处理图片 - for (XWPFParagraph paragraph : document.getParagraphs()) { - List<XWPFRun> runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - if (text != null && text.contains("picture")) { - run.setText("", 0); // 清除占位符文本 - run.addPicture( - new FileInputStream(tempFile), XWPFDocument.PICTURE_TYPE_JPEG, - "/usr/local/project/file/sign.jpg", - Units.toEMU(60), - Units.toEMU(30)); // 插入图片 } } } -- Gitblit v1.7.1