From 4301e57b85b3d882835199ee1af99426b54546dd Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期五, 03 十一月 2023 14:17:15 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/crm/manager/utils/WordUtils.java | 34 +++++++++++++++++++++++++++++++---
1 files changed, 31 insertions(+), 3 deletions(-)
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 c633862..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;
@@ -48,6 +48,31 @@
return ResponseEntity.ok()
.headers(headers)
.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());
+ }
}
/**
@@ -168,6 +193,9 @@
}
public static String formatNumberForAccounting(double number) {
+ if (number == 0) {
+ return "0.00";
+ }
NumberFormat formatter = new DecimalFormat("#,###.00");
return formatter.format(number);
}
--
Gitblit v1.9.1