| | |
| | | package com.product.file.service; |
| | | |
| | | import cn.hutool.core.io.FileUtil; |
| | | import com.product.file.util.AsposeUtil; |
| | | import com.product.file.util.FileUtils; |
| | | import org.apache.poi.openxml4j.opc.OPCPackage; |
| | | import org.apache.poi.xwpf.usermodel.XWPFDocument; |
| | | import org.apache.tomcat.util.http.fileupload.IOUtils; |
| | | import com.product.file.util.MergeWordDocuments; |
| | | import org.apache.xmlbeans.XmlOptions; |
| | | import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBody; |
| | | |
| | | import java.io.*; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | * @param srcDocxs 需要合并的目标docx文件 |
| | | * @param response 合并后的docx输出文件 |
| | | */ |
| | | public static File mergeDoc(List<File> srcDocxs, String tempFilePath) { |
| | | public static File mergeDoc(List<File> srcDocxs, String tempFilePath) throws Exception { |
| | | File file = null; |
| | | if (srcDocxs.size() > 1) { |
| | | File file = srcDocxs.get(0); |
| | | file = srcDocxs.get(0); |
| | | for (int i = 1; i < srcDocxs.size(); i++) { |
| | | file = AsposeUtil.mergeWord(file, srcDocxs.get(i)); |
| | | file = MergeWordDocuments.mergeFile(file, srcDocxs.get(i)); |
| | | } |
| | | FileUtil.copyFile(file, new File(tempFilePath)); |
| | | File file1 = new File(tempFilePath); |
| | | FileUtil.copyFile(file, file1); |
| | | FileUtil.del(file); |
| | | return file1; |
| | | } |
| | | return null; |
| | | return file; |
| | | } |
| | | |
| | | /** |
| | |
| | | String sufix = srcString.substring(srcString.lastIndexOf("<")); |
| | | String addPart = appendString.substring(appendString.indexOf(">") + 1, |
| | | appendString.lastIndexOf("<")); |
| | | CTBody makeBody = CTBody.Factory.parse(prefix + mainPart + addPart |
| | | + sufix); |
| | | src.set(makeBody); |
| | | // CTBody makeBody = CTBody.Factory.parse(prefix + mainPart + addPart |
| | | // + sufix); |
| | | // src.set(makeBody); |
| | | } |
| | | |
| | | } |