From 3dd3bc576dada8216099348ad8fd93fc070622b6 Mon Sep 17 00:00:00 2001
From: 杜洪波 <1074825718@qq.com>
Date: 星期五, 15 八月 2025 10:48:59 +0800
Subject: [PATCH] PDF操作类
---
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..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;
@@ -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", "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