diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java index bb42e20..483f5a0 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java @@ -44,4 +44,8 @@ */ String CODE = "code"; + + String WORD_SUFFIX="docx"; + String PDF_SUFFIX="pdf"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java index bb42e20..483f5a0 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java @@ -44,4 +44,8 @@ */ String CODE = "code"; + + String WORD_SUFFIX="docx"; + String PDF_SUFFIX="pdf"; + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java index ff280af..a2f3991 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java @@ -9,6 +9,7 @@ import com.spire.doc.documents.TextSelection; import com.spire.doc.fields.DocPicture; import com.spire.doc.fields.TextRange; +import org.apache.poi.xwpf.usermodel.XWPFDocument; import javax.imageio.ImageIO; import java.awt.*; @@ -27,16 +28,17 @@ /** * 多个word合并为一个doc样例 */ - public static void mergeDoc() { - String word1Url = localPathUrl + "211.docx"; -// String word2Url = localPathUrl + "202.docx"; + public static void mergeDoc(){ + String word1Url = localPathUrl + "1.docx"; + String word2Url = localPathUrl + "2.docx"; // //加载文档1 Document doc1 = new Document(word1Url); + XWPFDocument xwpfDocument=new XWPFDocument(); // //调用方法将文档2插入到文档1 -// doc1.insertTextFromFile(word2Url, FileFormat.Docx_2010); + doc1.insertTextFromFile(word2Url, FileFormat.Docx_2013); // //保存合并后的文档 -// doc1.saveToFile(word1Url, FileFormat.Docx_2010); - doc1.saveToFile(localPathUrl + "add.docx", FileFormat.Docx); + doc1.saveToFile(word1Url, FileFormat.Docx_2013); +// doc1.saveToFile(localPathUrl + "add.docx", FileFormat.Docx); } /** @@ -154,12 +156,10 @@ } public static void main(String[] args) throws Exception { - //内嵌表信息 -// Example.populateTableNest(); -// mergeDoc(); -// pdfUtils.wordToPdf(); - Document document = new Document(); - document.loadFromFile("D:\\casic\\tmp\\1722236316798869504\\1698370834021.docx"); + List mergeDoc = new ArrayList<>(); + mergeDoc.add("1.docx"); + mergeDoc.add("2.docx"); + mergeDoc(); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java index bb42e20..483f5a0 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java @@ -44,4 +44,8 @@ */ String CODE = "code"; + + String WORD_SUFFIX="docx"; + String PDF_SUFFIX="pdf"; + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java index ff280af..a2f3991 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java @@ -9,6 +9,7 @@ import com.spire.doc.documents.TextSelection; import com.spire.doc.fields.DocPicture; import com.spire.doc.fields.TextRange; +import org.apache.poi.xwpf.usermodel.XWPFDocument; import javax.imageio.ImageIO; import java.awt.*; @@ -27,16 +28,17 @@ /** * 多个word合并为一个doc样例 */ - public static void mergeDoc() { - String word1Url = localPathUrl + "211.docx"; -// String word2Url = localPathUrl + "202.docx"; + public static void mergeDoc(){ + String word1Url = localPathUrl + "1.docx"; + String word2Url = localPathUrl + "2.docx"; // //加载文档1 Document doc1 = new Document(word1Url); + XWPFDocument xwpfDocument=new XWPFDocument(); // //调用方法将文档2插入到文档1 -// doc1.insertTextFromFile(word2Url, FileFormat.Docx_2010); + doc1.insertTextFromFile(word2Url, FileFormat.Docx_2013); // //保存合并后的文档 -// doc1.saveToFile(word1Url, FileFormat.Docx_2010); - doc1.saveToFile(localPathUrl + "add.docx", FileFormat.Docx); + doc1.saveToFile(word1Url, FileFormat.Docx_2013); +// doc1.saveToFile(localPathUrl + "add.docx", FileFormat.Docx); } /** @@ -154,12 +156,10 @@ } public static void main(String[] args) throws Exception { - //内嵌表信息 -// Example.populateTableNest(); -// mergeDoc(); -// pdfUtils.wordToPdf(); - Document document = new Document(); - document.loadFromFile("D:\\casic\\tmp\\1722236316798869504\\1698370834021.docx"); + List mergeDoc = new ArrayList<>(); + mergeDoc.add("1.docx"); + mergeDoc.add("2.docx"); + mergeDoc(); } /** diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java index 209260e..db87e35 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java @@ -23,6 +23,7 @@ import java.awt.*; import java.awt.image.BufferedImage; import java.io.*; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -62,7 +63,6 @@ log.debug("执行完填充参数操作......"); if (CollectionUtils.isNotEmpty(filePrintRegister.getElectronicImageList())) { try { - //按关键字进行分组 Map> sameKeyWordSealMaps = filePrintRegister.getElectronicImageList().stream() .filter(electronicImage -> StringUtils.isNotEmpty(electronicImage.getKeyWord())) @@ -402,6 +402,7 @@ try { //执行文件填充 ParseWord07 parseWord07 = new ParseWord07(); + params=new HashMap<>(); XWPFDocument doc = parseWord07.parseWord(temDir + fileName, params, mergeColNames); filePath = temDir + fileName; fos = new FileOutputStream(filePath); @@ -434,7 +435,7 @@ * @param fileNames * @return */ - private static String mergeDoc(String localPathUrl, List fileNames) { + public static String mergeDoc(String localPathUrl, List fileNames) { //doc合并 if (CollectionUtils.isEmpty(fileNames)) { return null; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java index bb42e20..483f5a0 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java @@ -44,4 +44,8 @@ */ String CODE = "code"; + + String WORD_SUFFIX="docx"; + String PDF_SUFFIX="pdf"; + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java index ff280af..a2f3991 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java @@ -9,6 +9,7 @@ import com.spire.doc.documents.TextSelection; import com.spire.doc.fields.DocPicture; import com.spire.doc.fields.TextRange; +import org.apache.poi.xwpf.usermodel.XWPFDocument; import javax.imageio.ImageIO; import java.awt.*; @@ -27,16 +28,17 @@ /** * 多个word合并为一个doc样例 */ - public static void mergeDoc() { - String word1Url = localPathUrl + "211.docx"; -// String word2Url = localPathUrl + "202.docx"; + public static void mergeDoc(){ + String word1Url = localPathUrl + "1.docx"; + String word2Url = localPathUrl + "2.docx"; // //加载文档1 Document doc1 = new Document(word1Url); + XWPFDocument xwpfDocument=new XWPFDocument(); // //调用方法将文档2插入到文档1 -// doc1.insertTextFromFile(word2Url, FileFormat.Docx_2010); + doc1.insertTextFromFile(word2Url, FileFormat.Docx_2013); // //保存合并后的文档 -// doc1.saveToFile(word1Url, FileFormat.Docx_2010); - doc1.saveToFile(localPathUrl + "add.docx", FileFormat.Docx); + doc1.saveToFile(word1Url, FileFormat.Docx_2013); +// doc1.saveToFile(localPathUrl + "add.docx", FileFormat.Docx); } /** @@ -154,12 +156,10 @@ } public static void main(String[] args) throws Exception { - //内嵌表信息 -// Example.populateTableNest(); -// mergeDoc(); -// pdfUtils.wordToPdf(); - Document document = new Document(); - document.loadFromFile("D:\\casic\\tmp\\1722236316798869504\\1698370834021.docx"); + List mergeDoc = new ArrayList<>(); + mergeDoc.add("1.docx"); + mergeDoc.add("2.docx"); + mergeDoc(); } /** diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java index 209260e..db87e35 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java @@ -23,6 +23,7 @@ import java.awt.*; import java.awt.image.BufferedImage; import java.io.*; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -62,7 +63,6 @@ log.debug("执行完填充参数操作......"); if (CollectionUtils.isNotEmpty(filePrintRegister.getElectronicImageList())) { try { - //按关键字进行分组 Map> sameKeyWordSealMaps = filePrintRegister.getElectronicImageList().stream() .filter(electronicImage -> StringUtils.isNotEmpty(electronicImage.getKeyWord())) @@ -402,6 +402,7 @@ try { //执行文件填充 ParseWord07 parseWord07 = new ParseWord07(); + params=new HashMap<>(); XWPFDocument doc = parseWord07.parseWord(temDir + fileName, params, mergeColNames); filePath = temDir + fileName; fos = new FileOutputStream(filePath); @@ -434,7 +435,7 @@ * @param fileNames * @return */ - private static String mergeDoc(String localPathUrl, List fileNames) { + public static String mergeDoc(String localPathUrl, List fileNames) { //doc合并 if (CollectionUtils.isEmpty(fileNames)) { return null; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java index d842c38..aac1112 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java @@ -5,13 +5,13 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.casic.missiles.dto.certificate.FilePrintRegister; +import com.casic.missiles.enums.system.FilePrintEnum; import com.casic.missiles.service.listeners.register.module.GenericFilePrintProcessor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; -import com.casic.missiles.service.listeners.register.PrintFileSupport; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -26,7 +26,7 @@ */ @Component @Slf4j -public class PrintFileRegister extends PrintFileSupport { +public class PrintFileRegister extends PrintFileSupport implements FilePrintEnum { @Autowired private GenericFilePrintProcessor genericFilePrintProcessor; @@ -99,14 +99,14 @@ try { printDocUrl = FilePrintRegisterUtils.filePrintGenerate(filePrintRegister); //当有骑缝章,强制执行为word文档 - if (isPdf && printDocUrl.contains("docx")) { + if (isPdf && printDocUrl.contains(WORD_SUFFIX)) { //默认转为docx,只需要进行docx的替换即可 - String pdfNewUrl = printDocUrl.replaceAll("docx", "pdf"); + String pdfNewUrl = printDocUrl.replaceAll(WORD_SUFFIX, PDF_SUFFIX); FilePrintRegisterUtils.wordToPdf(printDocUrl, pdfNewUrl); printDocUrl = pdfNewUrl; - } else if (customParam.containsKey("pdfStatus") && printDocUrl.contains("docx")) { + } else if (customParam.containsKey("pdfStatus") && printDocUrl.contains(WORD_SUFFIX)) { //默认转为docx,只需要进行docx的替换即可 - String pdfNewUrl = printDocUrl.replaceAll("docx", "pdf"); + String pdfNewUrl = printDocUrl.replaceAll(WORD_SUFFIX, PDF_SUFFIX); FilePrintRegisterUtils.wordToPdf(printDocUrl, pdfNewUrl); miniName = createResponseFileInput(pdfNewUrl, response); customParam.put("pdfUrl", miniName); @@ -122,8 +122,8 @@ //删除无效的文件 File invalidFile = new File(tempLocalFileDir); //删除运行空间下的文件 - deleteFile(invalidFile); - log.debug("证书打印完成......,证书名称为{}", miniName); +// deleteFile(invalidFile); + log.info("证书打印完成......,证书名称为{}", miniName); } return miniName; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java index bb42e20..483f5a0 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/FilePrintEnum.java @@ -44,4 +44,8 @@ */ String CODE = "code"; + + String WORD_SUFFIX="docx"; + String PDF_SUFFIX="pdf"; + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java index ff280af..a2f3991 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java @@ -9,6 +9,7 @@ import com.spire.doc.documents.TextSelection; import com.spire.doc.fields.DocPicture; import com.spire.doc.fields.TextRange; +import org.apache.poi.xwpf.usermodel.XWPFDocument; import javax.imageio.ImageIO; import java.awt.*; @@ -27,16 +28,17 @@ /** * 多个word合并为一个doc样例 */ - public static void mergeDoc() { - String word1Url = localPathUrl + "211.docx"; -// String word2Url = localPathUrl + "202.docx"; + public static void mergeDoc(){ + String word1Url = localPathUrl + "1.docx"; + String word2Url = localPathUrl + "2.docx"; // //加载文档1 Document doc1 = new Document(word1Url); + XWPFDocument xwpfDocument=new XWPFDocument(); // //调用方法将文档2插入到文档1 -// doc1.insertTextFromFile(word2Url, FileFormat.Docx_2010); + doc1.insertTextFromFile(word2Url, FileFormat.Docx_2013); // //保存合并后的文档 -// doc1.saveToFile(word1Url, FileFormat.Docx_2010); - doc1.saveToFile(localPathUrl + "add.docx", FileFormat.Docx); + doc1.saveToFile(word1Url, FileFormat.Docx_2013); +// doc1.saveToFile(localPathUrl + "add.docx", FileFormat.Docx); } /** @@ -154,12 +156,10 @@ } public static void main(String[] args) throws Exception { - //内嵌表信息 -// Example.populateTableNest(); -// mergeDoc(); -// pdfUtils.wordToPdf(); - Document document = new Document(); - document.loadFromFile("D:\\casic\\tmp\\1722236316798869504\\1698370834021.docx"); + List mergeDoc = new ArrayList<>(); + mergeDoc.add("1.docx"); + mergeDoc.add("2.docx"); + mergeDoc(); } /** diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java index 209260e..db87e35 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java @@ -23,6 +23,7 @@ import java.awt.*; import java.awt.image.BufferedImage; import java.io.*; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -62,7 +63,6 @@ log.debug("执行完填充参数操作......"); if (CollectionUtils.isNotEmpty(filePrintRegister.getElectronicImageList())) { try { - //按关键字进行分组 Map> sameKeyWordSealMaps = filePrintRegister.getElectronicImageList().stream() .filter(electronicImage -> StringUtils.isNotEmpty(electronicImage.getKeyWord())) @@ -402,6 +402,7 @@ try { //执行文件填充 ParseWord07 parseWord07 = new ParseWord07(); + params=new HashMap<>(); XWPFDocument doc = parseWord07.parseWord(temDir + fileName, params, mergeColNames); filePath = temDir + fileName; fos = new FileOutputStream(filePath); @@ -434,7 +435,7 @@ * @param fileNames * @return */ - private static String mergeDoc(String localPathUrl, List fileNames) { + public static String mergeDoc(String localPathUrl, List fileNames) { //doc合并 if (CollectionUtils.isEmpty(fileNames)) { return null; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java index d842c38..aac1112 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java @@ -5,13 +5,13 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.casic.missiles.dto.certificate.FilePrintRegister; +import com.casic.missiles.enums.system.FilePrintEnum; import com.casic.missiles.service.listeners.register.module.GenericFilePrintProcessor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; -import com.casic.missiles.service.listeners.register.PrintFileSupport; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -26,7 +26,7 @@ */ @Component @Slf4j -public class PrintFileRegister extends PrintFileSupport { +public class PrintFileRegister extends PrintFileSupport implements FilePrintEnum { @Autowired private GenericFilePrintProcessor genericFilePrintProcessor; @@ -99,14 +99,14 @@ try { printDocUrl = FilePrintRegisterUtils.filePrintGenerate(filePrintRegister); //当有骑缝章,强制执行为word文档 - if (isPdf && printDocUrl.contains("docx")) { + if (isPdf && printDocUrl.contains(WORD_SUFFIX)) { //默认转为docx,只需要进行docx的替换即可 - String pdfNewUrl = printDocUrl.replaceAll("docx", "pdf"); + String pdfNewUrl = printDocUrl.replaceAll(WORD_SUFFIX, PDF_SUFFIX); FilePrintRegisterUtils.wordToPdf(printDocUrl, pdfNewUrl); printDocUrl = pdfNewUrl; - } else if (customParam.containsKey("pdfStatus") && printDocUrl.contains("docx")) { + } else if (customParam.containsKey("pdfStatus") && printDocUrl.contains(WORD_SUFFIX)) { //默认转为docx,只需要进行docx的替换即可 - String pdfNewUrl = printDocUrl.replaceAll("docx", "pdf"); + String pdfNewUrl = printDocUrl.replaceAll(WORD_SUFFIX, PDF_SUFFIX); FilePrintRegisterUtils.wordToPdf(printDocUrl, pdfNewUrl); miniName = createResponseFileInput(pdfNewUrl, response); customParam.put("pdfUrl", miniName); @@ -122,8 +122,8 @@ //删除无效的文件 File invalidFile = new File(tempLocalFileDir); //删除运行空间下的文件 - deleteFile(invalidFile); - log.debug("证书打印完成......,证书名称为{}", miniName); +// deleteFile(invalidFile); + log.info("证书打印完成......,证书名称为{}", miniName); } return miniName; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/module/GenericFilePrintProcessor.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/module/GenericFilePrintProcessor.java index ae9b346..6880494 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/module/GenericFilePrintProcessor.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/module/GenericFilePrintProcessor.java @@ -33,10 +33,6 @@ * @return */ public FilePrintRegister printFileRegister(String moduleName, String moduleType, Map customParam, Long moduleIdValue, String templateFileDir) { - - if (customParam != null) { - - } //获取当前模板配置信息 ModuleTemplatePrintConfig moduleTemplatePrintConfig =getModuleTemplatePrintConfig(moduleName, moduleType); Assert.isFalse(ObjectUtils.isEmpty(moduleTemplatePrintConfig),