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