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