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/FileUtil.java | 40 +++++-----------------------------------
1 files changed, 5 insertions(+), 35 deletions(-)
diff --git a/src/main/java/com/product/file/util/FileUtil.java b/src/main/java/com/product/file/util/FileUtil.java
index 1b1e553..ea85a09 100644
--- a/src/main/java/com/product/file/util/FileUtil.java
+++ b/src/main/java/com/product/file/util/FileUtil.java
@@ -3,8 +3,6 @@
import cn.hutool.core.lang.UUID;
import com.aspose.words.Document;
import com.aspose.words.SaveFormat;
-import com.deepoove.poi.XWPFTemplate;
-import com.deepoove.poi.xwpf.NiceXWPFDocument;
import com.google.common.collect.Maps;
import com.product.common.lang.StringUtils;
import com.product.core.config.Global;
@@ -16,7 +14,6 @@
import java.io.*;
import java.util.List;
import java.util.Map;
-import java.util.Properties;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
@@ -31,6 +28,10 @@
public class FileUtil {
private FileUtil() {
+ }
+
+ public static void main(String[] args) {
+ System.out.println(FileUtil.checkDocType(new File("D:\\downloads\\鍏充簬鍗忚皟瑙e喅瑗垮畞涓囪揪鍦颁骇缃笟鏈夐檺鍏徃鍟嗗搧鎴块鍞祫閲戠洃绠¤处鎴峰喕缁撶浉鍏抽棶棰� (1).doc")));
}
public static String checkDocType(File file) {
@@ -78,38 +79,7 @@
* @return
*/
public static File mergeFile(File source, File target) throws Exception {
- if ("doc".equals(FileUtil.checkDocType(source))) {
- source = toDocx(source);
- }
- boolean delTarget = false;
- if ("doc".equals(FileUtil.checkDocType(target))) {
- target = toDocx(target);
- delTarget = true;
- }
- XWPFTemplate template = XWPFTemplate.compile(source);
- NiceXWPFDocument xwpfDocument = template.getXWPFDocument();
- try {
- NiceXWPFDocument sub = new NiceXWPFDocument(new FileInputStream((target)));
- NiceXWPFDocument newDoc = xwpfDocument.merge(sub);
- String tempFile = Global.getSystemConfig("temp.dir", "./attachment/temp") + File.separator + UUID.randomUUID() + ".docx";
- try (FileOutputStream out = new FileOutputStream(tempFile)) {
- newDoc.write(out);
- newDoc.close();
- return new File(tempFile);
- } catch (IOException e) {
- throw e;
- } finally {
- if (delTarget) {
- target.delete();
- }
- newDoc.close();
- sub.close();
- }
- } catch (IOException e) {
- throw e;
- } catch (Exception e) {
- throw e;
- }
+ return MergeWordDocuments.mergeFile(source, target);
}
public static File toDocx(File file) {
--
Gitblit v1.9.2