From c5b71cce5614ad22716efbf941a98688589ef65a Mon Sep 17 00:00:00 2001
From: shichongfu <shi_chongfu@163.com>
Date: 星期五, 09 六月 2023 08:57:36 +0800
Subject: [PATCH] 打印转换

---
 src/main/java/com/product/file/util/PdfConcurrenceUtil.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 48 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/product/file/util/PdfConcurrenceUtil.java b/src/main/java/com/product/file/util/PdfConcurrenceUtil.java
index eeaa187..80d0204 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;
@@ -36,7 +37,7 @@
 
     static {
         SpringMVCContextHolder.getSystemLogger().info("鍒濆鍖�->");
-        init();
+        //init();
     }
 
     private PdfConcurrenceUtil() {}
@@ -44,7 +45,10 @@
     /**
      * 鍒濆鍖栬浆鎹㈡湇鍔�
      */
-    public static void init() {
+    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","");
@@ -68,6 +72,7 @@
             }
         }
         SpringMVCContextHolder.getSystemLogger().info("褰撳墠杞崲闃熷垪涓鍙f暟锛�" + officeManagerQueue.size());
+        return true;
     }
 
     /**
@@ -113,7 +118,6 @@
             officeManager.start();
             return officeManager;
         } catch (OfficeException e) {
-        	e.printStackTrace();
             SpringMVCContextHolder.getSystemLogger().info(String.format("%s,port:%s", FileCode.NO_EXISTS_TRANSFER_PORT.getText(), port));
             return null;
         }
@@ -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", "true")) {//鍚敤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