From ef26bf4fde77ba361bcd083a769c3a1b8a229738 Mon Sep 17 00:00:00 2001
From: 许鹏程 <1821349743@qq.com>
Date: 星期一, 10 二月 2025 14:39:24 +0800
Subject: [PATCH] excel文件预览使用pdf

---
 src/main/java/com/product/file/util/PdfConcurrenceUtil.java |   50 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 45 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/product/file/util/PdfConcurrenceUtil.java b/src/main/java/com/product/file/util/PdfConcurrenceUtil.java
index 96436de..5d053be 100644
--- a/src/main/java/com/product/file/util/PdfConcurrenceUtil.java
+++ b/src/main/java/com/product/file/util/PdfConcurrenceUtil.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.druid.util.StringUtils;
 import com.product.core.config.Global;
+import com.product.core.exception.BaseException;
 import com.product.core.spring.context.SpringMVCContextHolder;
 import com.product.file.config.FileCode;
 import org.artofsolving.jodconverter.OfficeDocumentConverter;
@@ -45,6 +46,9 @@
      * 鍒濆鍖栬浆鎹㈡湇鍔�
      */
     public static boolean init() {
+    	if(!Global.getPropertyToBoolean("open.office.isEnable", "true")) {//涓嶅惎鐢╫epn office杞崲
+    		return true;
+    	}
         SpringMVCContextHolder.getSystemLogger().info("鍒濆鍖栬浆鎹㈡湇鍔�->");
         openOfficeHome = Global.getSystemConfig("open.office.home","");
         portInfo = Global.getSystemConfig("open.office.port.info","");
@@ -148,22 +152,58 @@
      * @param output
      * @return
      */
-    public static File convertToPdf(String input, String output) {
+    @Deprecated
+    public static File convertToPdf(String input, String output) throws Exception {
         File inputFile = null;
         File outFile = null;
         OfficeManager officeManager = null;
         try {
-            SpringMVCContextHolder.getSystemLogger().info("浠庨槦鍒椾腑鎻愬彇杞崲绔彛...");
             officeManager = officeManagerQueue.take();
             inputFile = new File(input);
             outFile = new File(output);
             SpringMVCContextHolder.getSystemLogger().info("寮�濮嬭浆鎹㈡枃妗o細" + input + "=>" + output);
             OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager);
             converter.convert(inputFile, outFile); // 杞崲鏂囨。
-        } catch (Exception e) {
-        	e.printStackTrace();
-            SpringMVCContextHolder.getSystemLogger().error("杞崲鏂囨。鍑洪敊" + e);
+        }catch (Exception e) {
             outFile = null;
+            throw e;
+        } finally {
+            SpringMVCContextHolder.getSystemLogger().info("缁撴潫杞崲鏂囨。");
+            if (officeManager != null) {
+                try {
+                    officeManagerQueue.put(officeManager);
+                } catch (InterruptedException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return outFile;
+    }
+    /**
+     * 杞崲pdf
+     * @param input
+     * @param output
+     * @return
+     */
+    public static File convertToPdf(String input, String output,String officeType) throws Exception {
+        File inputFile = null;
+        File outFile = null;
+        OfficeManager officeManager = null;
+        try {
+        	if(Global.getPropertyToBoolean("open.office.isEnable", "false")) {//鍚敤oepn office杞崲
+        		officeManager = officeManagerQueue.take();
+                inputFile = new File(input);
+                outFile = new File(output);
+                SpringMVCContextHolder.getSystemLogger().info("寮�濮嬭浆鎹㈡枃妗o細" + input + "=>" + output);
+                OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager);
+                converter.convert(inputFile, outFile); // 杞崲鏂囨。
+            }else{
+            	outFile = new File(AsposeUtil.OfficeToPdf(input, output,officeType));
+        	}
+
+        }catch (Exception e) {
+            outFile = null;
+            throw e;
         } finally {
             SpringMVCContextHolder.getSystemLogger().info("缁撴潫杞崲鏂囨。");
             if (officeManager != null) {

--
Gitblit v1.9.2