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