diff --git a/yxt-common/yxt-common-base/pom.xml b/yxt-common/yxt-common-base/pom.xml
index ff5d339..32ddefe 100644
--- a/yxt-common/yxt-common-base/pom.xml
+++ b/yxt-common/yxt-common-base/pom.xml
@@ -120,12 +120,6 @@
javase
3.3.2
-
-
- com.itextpdf
- itextpdf
- 5.4.3
-
org.apache.httpcomponents
httpclient
@@ -165,17 +159,11 @@
hutool-all
${hutool.version}
-
org.freemarker
freemarker
2.3.29
-
- com.jacob
- jacob
- 1.18
-
javax.xml.bind
jaxb-api
@@ -196,6 +184,25 @@
activation
1.1.1
+
+ com.jacob
+ jacob
+ 1.18
+
+
+ com.itextpdf
+ itextpdf
+ 5.5.11
+
+
+ com.itextpdf
+ itext-asian
+ 5.2.0
+
+
+ org.apache.pdfbox
+ pdfbox
+
diff --git a/yxt-common/yxt-common-base/src/main/java/com/yxt/common/base/utils/WordConvertUtils.java b/yxt-common/yxt-common-base/src/main/java/com/yxt/common/base/utils/WordConvertUtils.java
index ca7dcfc..2de10d2 100644
--- a/yxt-common/yxt-common-base/src/main/java/com/yxt/common/base/utils/WordConvertUtils.java
+++ b/yxt-common/yxt-common-base/src/main/java/com/yxt/common/base/utils/WordConvertUtils.java
@@ -10,8 +10,11 @@ import com.jacob.com.Dispatch;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.Version;
+import org.apache.pdfbox.io.MemoryUsageSetting;
+import org.apache.pdfbox.multipdf.PDFMergerUtility;
import java.io.*;
+import java.util.List;
import java.util.Map;
/**
@@ -205,4 +208,28 @@ public class WordConvertUtils {
return false;
}
}
+
+ /**
+ * pdf合并
+ *
+ * @param files 源文件的相对路径 例:["D:\anrui\upload\template\pdf\111.pdf","D:\anrui\upload\template\222.pdf"]
+ * @param targetPath 输出的pdf的路径 D:\anrui\upload\template\pdf\333.pdf
+ * @return
+ * @throws Exception
+ */
+ public static File mulFile2One(List files, String targetPath) throws Exception {
+ PDFMergerUtility mergePdf = new PDFMergerUtility();
+ for (File f : files) {
+ if (f.exists() && f.isFile()) {
+ // 循环添加要合并的pdf
+ mergePdf.addSource(f);
+ }
+ }
+ // 设置合并生成pdf文件名称
+ mergePdf.setDestinationFileName(targetPath);
+ // 合并pdf
+ mergePdf.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
+ //ToDo:根据需求实现是否要删除源文件
+ return new File(targetPath);
+ }
}
diff --git a/yxt-parent/pom.xml b/yxt-parent/pom.xml
index 58a8876..eeabf10 100644
--- a/yxt-parent/pom.xml
+++ b/yxt-parent/pom.xml
@@ -77,6 +77,8 @@
4.1.2
6.5.0
+ 2.0.25
+
@@ -401,56 +403,62 @@
+
+ org.apache.pdfbox
+ pdfbox
+ ${pdfbox.version}
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- nexus-releases
- http://nexus3.yyundong.com/repository/yxt-mvn-releases/
-
-
- nexus-snapshots
- http://nexus3.yyundong.com/repository/yxt-mvn-snapshot/
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ nexus-releases
+ http://nexus3.yyundong.com/repository/yxt-mvn-releases/
+
+
+ nexus-snapshots
+ http://nexus3.yyundong.com/repository/yxt-mvn-snapshot/
+
+
\ No newline at end of file