From d68d798881163134cb5f59fc4a8d924809119a3c Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期二, 17 十月 2023 12:59:56 +0800
Subject: [PATCH] #fropensagresxdocreport
---
src/main/java/com/zy/crm/manager/utils/WordUtils.java | 31 ++++++++++++++++++++++++++++---
src/main/java/com/zy/crm/manager/controller/ContractController.java | 6 +++++-
pom.xml | 18 ++++++++++++++++++
3 files changed, 51 insertions(+), 4 deletions(-)
diff --git a/pom.xml b/pom.xml
index 32b5017..a07e7e4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -135,6 +135,24 @@
<version>4.1.2</version>
</dependency>
+ <!--word杞琾df-->
+ <dependency>
+ <groupId>fr.opensagres.xdocreport</groupId>
+ <artifactId>fr.opensagres.poi.xwpf.converter.pdf-gae</artifactId>
+ <version>2.0.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.documents4j</groupId>
+ <artifactId>documents4j-local</artifactId>
+ <version>1.0.3</version>
+ </dependency>
+ <dependency>
+ <groupId>com.documents4j</groupId>
+ <artifactId>documents4j-transformer-msoffice-word</artifactId>
+ <version>1.0.3</version>
+ </dependency>
+
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>alibabacloud-dysmsapi20170525</artifactId>
diff --git a/src/main/java/com/zy/crm/manager/controller/ContractController.java b/src/main/java/com/zy/crm/manager/controller/ContractController.java
index 0e120e9..931f1b4 100644
--- a/src/main/java/com/zy/crm/manager/controller/ContractController.java
+++ b/src/main/java/com/zy/crm/manager/controller/ContractController.java
@@ -240,7 +240,11 @@
/////////////////////////鐢熸垚Tab琛ㄦ牸鏁版嵁/////////////////////////
String fileName = this.getClass().getClassLoader().getResource("contractTemplate/" + contractTemplate + ".docx").getPath();//鑾峰彇鏂囦欢璺緞
- return WordUtils.generate(fileName, map, tabParam);
+
+// String outPdfPath = fileName.split("\\.")[0]+".pdf";
+ ResponseEntity<InputStreamResource> generate = WordUtils.generate(fileName, map, tabParam);
+// WordUtils.documents4jWordToPdf(fileName,outPdfPath);
+ return generate;
} catch (Exception e) {
return null;
}
diff --git a/src/main/java/com/zy/crm/manager/utils/WordUtils.java b/src/main/java/com/zy/crm/manager/utils/WordUtils.java
index 74b58ac..31be1b6 100644
--- a/src/main/java/com/zy/crm/manager/utils/WordUtils.java
+++ b/src/main/java/com/zy/crm/manager/utils/WordUtils.java
@@ -1,7 +1,8 @@
package com.zy.crm.manager.utils;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
+import com.documents4j.api.DocumentType;
+import com.documents4j.api.IConverter;
+import com.documents4j.job.LocalConverter;
import org.apache.poi.xwpf.usermodel.*;
import org.apache.xmlbeans.XmlCursor;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STMerge;
@@ -13,7 +14,6 @@
import java.io.*;
import java.text.DecimalFormat;
import java.text.NumberFormat;
-import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -50,6 +50,31 @@
.body(resource);
}
+ /*
+ * word杞琍DF
+ * */
+ public static void documents4jWordToPdf(String sourcePath, String targetPath) {
+ File inputWord = new File(sourcePath);
+ File outputFile = new File(targetPath);
+ try {
+ InputStream docxInputStream = new FileInputStream(inputWord);
+ OutputStream outputStream = new FileOutputStream(outputFile);
+ IConverter converter = LocalConverter.builder().build();
+ boolean execute = converter.convert(docxInputStream)
+ .as(DocumentType.DOCX)
+ .to(outputStream)
+ .as(DocumentType.PDF).schedule().get();
+ outputStream.close();
+ docxInputStream.close();
+
+ System.out.println("杞崲瀹屾瘯 targetPath = "+outputFile.getAbsolutePath());
+ converter.shutDown();
+ return;
+ } catch (Exception e) {
+ System.out.println("[documents4J] word杞琾df澶辫触:"+e.toString());
+ }
+ }
+
/**
* 澶勭悊娈佃惤涓枃鏈紝鏇挎崲鏂囨湰涓畾涔夌殑鍙橀噺锛�
* @param param 闇�瑕佹浛鎹㈢殑鍙橀噺鍙婂彉閲忓��
--
Gitblit v1.9.1