From b7e00803f7c6c908a7f14ef9fd54da690f659f54 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 11 四月 2025 17:09:56 +0800
Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/xizang into dev

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/WordUtil.java |   38 +++++++++++++++++++++++---------------
 1 files changed, 23 insertions(+), 15 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..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
@@ -1,10 +1,12 @@
 package com.ruoyi.web.controller.tool;
 
+import cn.hutool.core.io.FileUtil;
 import freemarker.cache.ClassTemplateLoader;
 import freemarker.template.Configuration;
 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;
@@ -12,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;
@@ -69,11 +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(); // 程序结束时删除文件
 
             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;
                 // 从原始流读取数据并写入临时文件
@@ -81,6 +87,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(tempFile), XWPFDocument.PICTURE_TYPE_JPEG,
+                                tempFile.getName(),
+                                Units.toEMU(60),
+                                Units.toEMU(30)); // 插入图片
+                    }
+                }
+            }
+            
             // 处理段落
             for (XWPFParagraph paragraph : document.getParagraphs()) {
                 replaceParagraph(paragraph, dataMap);
@@ -93,21 +116,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