From 4ce181bd784aeb873a4751826c227161d35de2b5 Mon Sep 17 00:00:00 2001
From: wzp <2040239371@qq.com>
Date: 星期二, 17 六月 2025 11:29:16 +0800
Subject: [PATCH] fix:修复报告文件名里有tab键导致的bug

---
 src/main/java/com/ots/project/tool/PdfUtil.java |   42 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 37 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ots/project/tool/PdfUtil.java b/src/main/java/com/ots/project/tool/PdfUtil.java
index 607bb46..39db254 100644
--- a/src/main/java/com/ots/project/tool/PdfUtil.java
+++ b/src/main/java/com/ots/project/tool/PdfUtil.java
@@ -27,23 +27,55 @@
         FontSettings.getDefaultInstance().setFontsSources(fontSourceBases);
     }
 
+//    public static void convertPDF(String input) {
+//        try {
+//            registerWord();
+//            setFont();
+//            Document pres = null;
+//            //鎵嬪姩鏇挎崲杈撳嚭pdf鍚嶇О
+//            String output = input.replaceAll(".docx", ".pdf");
+//            long old = System.currentTimeMillis();
+//            FileInputStream fileInput = new FileInputStream(input);
+//            pres = new Document(fileInput);
+//            FileOutputStream out = new FileOutputStream(new File(output));
+//            pres.save(out, SaveFormat.PDF);
+//            out.close();
+//            long now = System.currentTimeMillis();
+//            log.info("銆愯浆鎹€�慸oc杞琾df鑰楁椂锛歿}绉�", ((now - old) / 1000.0));
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+//    }
+
     public static void convertPDF(String input) {
+        FileInputStream fileInput = null;
+        FileOutputStream out = null;
+        Document pres = null;
         try {
             registerWord();
             setFont();
-            Document pres = null;
-            //鎵嬪姩鏇挎崲杈撳嚭pdf鍚嶇О
             String output = input.replaceAll(".docx", ".pdf");
             long old = System.currentTimeMillis();
-            FileInputStream fileInput = new FileInputStream(input);
+
+            fileInput = new FileInputStream(input);
             pres = new Document(fileInput);
-            FileOutputStream out = new FileOutputStream(new File(output));
+
+            out = new FileOutputStream(output);
             pres.save(out, SaveFormat.PDF);
-            out.close();
+
             long now = System.currentTimeMillis();
             log.info("銆愯浆鎹€�慸oc杞琾df鑰楁椂锛歿}绉�", ((now - old) / 1000.0));
         } catch (Exception e) {
             e.printStackTrace();
+        } finally {
+            // 纭繚璧勬簮閲婃斁
+            if (pres != null) pres = null; // 鍏抽敭锛氶噴鏀綝ocument鍘熺敓璧勬簮
+            if (fileInput != null) {
+                try { fileInput.close(); } catch (IOException e) { /* ignore */ }
+            }
+            if (out != null) {
+                try { out.close(); } catch (IOException e) { /* ignore */ }
+            }
         }
     }
 

--
Gitblit v1.9.1