From f481156d4493dd5e38f61be1a0f7657bb63d9038 Mon Sep 17 00:00:00 2001 From: 13405411873 <1994398261@qq.com> Date: Sun, 16 Feb 2025 11:33:47 +0800 Subject: [PATCH] =?UTF-8?q?bug=20=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/script/util/Word2PdfUtil.java | 32 +++++++++++++++--- .../controller/overdue/OverdueController.java | 2 +- .../src/main/resources/static/mriTemp.docx | Bin 22931 -> 22915 bytes 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/script/util/Word2PdfUtil.java b/ruoyi-admin/src/main/java/com/ruoyi/script/util/Word2PdfUtil.java index 66af859..7edd884 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/script/util/Word2PdfUtil.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/script/util/Word2PdfUtil.java @@ -1,8 +1,6 @@ package com.ruoyi.script.util; -import com.aspose.words.Document; -import com.aspose.words.License; -import com.aspose.words.SaveFormat; +import com.aspose.words.*; import java.io.*; @@ -51,8 +49,34 @@ public class Word2PdfUtil { public static void wordConvertPdfFile(String wordPath, OutputStream outputStream) { try { setLicense(); + Document doc = new Document(wordPath); - doc.save(outputStream, SaveFormat.PDF); + // 调整页边距 + PageSetup pageSetup = doc.getFirstSection().getPageSetup(); + pageSetup.setLeftMargin(72); // 1 英寸 + pageSetup.setRightMargin(72); // 1 英寸 + pageSetup.setTopMargin(72); // 1 英寸 + pageSetup.setBottomMargin(72); // 1 英寸 + + // 调整行间距 + ParagraphCollection paragraphs = doc.getFirstSection().getBody().getParagraphs(); + // 指定字体和字号 + for (Paragraph paragraph : paragraphs) { + for (Run run : paragraph.getRuns()) { + Font font = run.getFont(); + font.setName("Arial"); + + } + } + + PdfSaveOptions pdfSaveOptions = new PdfSaveOptions(); + pdfSaveOptions.setEmbedFullFonts(false); // 不嵌入完整字体 + pdfSaveOptions.setEmbedStandardWindowsFonts(true); // 嵌入标准Windows字体 + pdfSaveOptions.setTextCompression(PdfTextCompression.FLATE); // 使用FLATE压缩文本 + pdfSaveOptions.setJpegQuality(100); // 设置JPEG图像质量为90 + pdfSaveOptions.setImageCompression(PdfImageCompression.JPEG); // 使用JPEG压缩图像 + + doc.save(outputStream, pdfSaveOptions); } catch (Exception e) { e.printStackTrace(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/overdue/OverdueController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/overdue/OverdueController.java index c32353d..f060010 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/overdue/OverdueController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/overdue/OverdueController.java @@ -73,7 +73,7 @@ public class OverdueController { private static final String SECRET_KEY = "jinanshandongdianliangxinxijishu"; public static void main(String[] args) throws Exception { - String data = "山东点亮20250311175500信息技术"; + String data = "山东点亮20290311175500信息技术"; SecretKeySpec keySpec = generateKey(); Cipher cipher = Cipher.getInstance(ALGORITHM); cipher.init(Cipher.ENCRYPT_MODE, keySpec); diff --git a/ruoyi-admin/src/main/resources/static/mriTemp.docx b/ruoyi-admin/src/main/resources/static/mriTemp.docx index a7d4a668a8817ae1fb50e5c6598518c99592c08b..bbac985ad794c9416abaee9ee3b33e57350394da 100644 GIT binary patch delta 12603 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�?Yya7J7NBI|{Z@}hSgeUsFVbK)o`8_>8VeieO;bw@^TSt+Ui`Y}6#f}( zlsT6%se@;v<+Kn@SPdLGw>SU>;9QWGL!;#y94ax7dok3)!IMoTQj!{c3)Ok=iYFY+ zRVc!5Yh7wE5bmi=1alGxUN; z88X)>0Nto`kNPsrZ^)2wm)kI&4$%L5{fzMK>Y%xEEeyIkeqvhiP3F8*82MvEVSSaz9lmuwY|L@#eW;V<);$_diC59nhDO+ z%9yH+Ya`!yJ8avxzBvcaJ!cLf6FZGa9DG5D9K4l&y{O^PbzZ&P+H`Z&}07HDD&4xtkK8Z-1ln%@nD$WLwo<6&&zR}@6wr#V?7bo zo~GkkUPzkn27(50SEw#4)USK8zZI{#t7$*DBU-I8d@wK12v0_gwrJV|Un^d?{~4(O zp}8-BzL(c;?=|`JVI?G|OTID8W5^}q-95q}0GWs19zG}Px47Y`e#}_ls2PY>q1vJ5 z&RD5h48nu;d0-f${+dC?e1$HgRv3?uKNs)1wYEu@yvO^@j^S`l?j3Tzje~m}Bu`?AL&+9;_7@>Bqrh#Cst)sbdib_JrQfLlDeG85p2U0{p9m0$kR>1HA>_X#4=(0