diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index 3d98243..c7b27f0 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -48,6 +48,12 @@ com.deepoove poi-tl 1.10.0 + + + org.apache.logging.log4j + log4j-api + + diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index 3d98243..c7b27f0 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -48,6 +48,12 @@ com.deepoove poi-tl 1.10.0 + + + org.apache.logging.log4j + log4j-api + + diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java index a510c41..f4f5e4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java @@ -161,7 +161,9 @@ } - //证书报告有一部分海口或者西昌的固定数据,例如海口/西昌标志,电话邮箱等地址 + /** + * 创建原始记录文件 + */ private String createOriginalFile(BizBusinessDeviceMeasureApproval measureItemInfo) { try { semaphore.acquire(); @@ -190,7 +192,9 @@ } } - //检查是否能生成证书 + /** + * 检查是否能生成证书 + */ private Boolean checkOutUnablePrint(BizBusinessDeviceMeasureApproval measureItemInfo) { //通过检定项名称,获取对应的模块配置列表 if (StringUtils.isNotEmpty(measureItemInfo.getItemCategoryName())) { diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index 3d98243..c7b27f0 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -48,6 +48,12 @@ com.deepoove poi-tl 1.10.0 + + + org.apache.logging.log4j + log4j-api + + diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java index a510c41..f4f5e4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java @@ -161,7 +161,9 @@ } - //证书报告有一部分海口或者西昌的固定数据,例如海口/西昌标志,电话邮箱等地址 + /** + * 创建原始记录文件 + */ private String createOriginalFile(BizBusinessDeviceMeasureApproval measureItemInfo) { try { semaphore.acquire(); @@ -190,7 +192,9 @@ } } - //检查是否能生成证书 + /** + * 检查是否能生成证书 + */ private Boolean checkOutUnablePrint(BizBusinessDeviceMeasureApproval measureItemInfo) { //通过检定项名称,获取对应的模块配置列表 if (StringUtils.isNotEmpty(measureItemInfo.getItemCategoryName())) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java index f619915..138c7cc 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java @@ -58,6 +58,14 @@ } + public static void main(String[] args) { + String pdfNewUrl = "D:\\casic\\cut\\temp测试报告_1698197691704.pdf"; + String stampSealImgUrl = "D:\\casic\\cut\\检验章02_1694585722058.jpeg"; + String outFilePath = "D:\\casic\\cut\\crossSeal.pdf"; + wordFullSeam(pdfNewUrl, stampSealImgUrl, outFilePath); + } + + /** * 骑缝章只存在一个章在进行打印 */ @@ -74,8 +82,8 @@ for (int n = 1; n <= nums; n++) { PdfContentByte over = stamp.getOverContent(n);//设置在第几页打印印章 Image img = nImage[n - 1];//选择图片 - img.scalePercent(10, 10); - img.setAbsolutePosition(width - img.getWidth() / 10, height / 2 - img.getHeight() / 20);//控制图片位置 + img.scalePercent(40, 40); + img.setAbsolutePosition(width - img.getWidth() *4/ 10, height / 2 - img.getHeight()*4 / 20);//控制图片位置 over.addImage(img); } stamp.close(); @@ -90,7 +98,7 @@ for (int i = 0; i < n; i++) { BufferedImage img = ImageIO.read(new File(subFileUrls.get(i))); String[] framges = subFileUrls.get(i).split("\\."); - ImageIO.write(img, framges[framges.length-1], out); + ImageIO.write(img, framges[framges.length - 1], out); nImage[i] = Image.getInstance(out.toByteArray()); out.flush(); out.reset(); @@ -132,4 +140,5 @@ footerParagraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Center); } + } diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index 3d98243..c7b27f0 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -48,6 +48,12 @@ com.deepoove poi-tl 1.10.0 + + + org.apache.logging.log4j + log4j-api + + diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java index a510c41..f4f5e4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java @@ -161,7 +161,9 @@ } - //证书报告有一部分海口或者西昌的固定数据,例如海口/西昌标志,电话邮箱等地址 + /** + * 创建原始记录文件 + */ private String createOriginalFile(BizBusinessDeviceMeasureApproval measureItemInfo) { try { semaphore.acquire(); @@ -190,7 +192,9 @@ } } - //检查是否能生成证书 + /** + * 检查是否能生成证书 + */ private Boolean checkOutUnablePrint(BizBusinessDeviceMeasureApproval measureItemInfo) { //通过检定项名称,获取对应的模块配置列表 if (StringUtils.isNotEmpty(measureItemInfo.getItemCategoryName())) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java index f619915..138c7cc 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java @@ -58,6 +58,14 @@ } + public static void main(String[] args) { + String pdfNewUrl = "D:\\casic\\cut\\temp测试报告_1698197691704.pdf"; + String stampSealImgUrl = "D:\\casic\\cut\\检验章02_1694585722058.jpeg"; + String outFilePath = "D:\\casic\\cut\\crossSeal.pdf"; + wordFullSeam(pdfNewUrl, stampSealImgUrl, outFilePath); + } + + /** * 骑缝章只存在一个章在进行打印 */ @@ -74,8 +82,8 @@ for (int n = 1; n <= nums; n++) { PdfContentByte over = stamp.getOverContent(n);//设置在第几页打印印章 Image img = nImage[n - 1];//选择图片 - img.scalePercent(10, 10); - img.setAbsolutePosition(width - img.getWidth() / 10, height / 2 - img.getHeight() / 20);//控制图片位置 + img.scalePercent(40, 40); + img.setAbsolutePosition(width - img.getWidth() *4/ 10, height / 2 - img.getHeight()*4 / 20);//控制图片位置 over.addImage(img); } stamp.close(); @@ -90,7 +98,7 @@ for (int i = 0; i < n; i++) { BufferedImage img = ImageIO.read(new File(subFileUrls.get(i))); String[] framges = subFileUrls.get(i).split("\\."); - ImageIO.write(img, framges[framges.length-1], out); + ImageIO.write(img, framges[framges.length - 1], out); nImage[i] = Image.getInstance(out.toByteArray()); out.flush(); out.reset(); @@ -132,4 +140,5 @@ footerParagraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Center); } + } 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 58d0685..4eeddeb 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 @@ -1,14 +1,20 @@ package com.casic.missiles.service.listeners.register; import com.casic.missiles.dto.certificate.ElectronicImage; -import com.casic.missiles.dto.certificate.FilePrintRegister; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; import com.spire.doc.Document; import com.spire.doc.FileFormat; -import com.spire.doc.Section; 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 java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -66,8 +72,8 @@ params.put("degree", "博士"); params.put("test", "\uF052"); params.put("error", "\uF0A3"); -// String newOldUrl = FilePrintRegisterUtils.exportWord(wordOldUrl, localPathUrl, "temp.docx", params, null); -// System.out.println(newOldUrl); +// String newOldUrl = FilePrintRegisterUtils.exportWord(wordOldUrl, localPathUrl, "temp.docx", params, null); +// System.out.println(newOldUrl); } /** @@ -76,43 +82,55 @@ public static void populateTableNest() { String localPathUrl = "D:\\casic\\cut\\"; // 目标文件地址 - String wordOldUrl = localPathUrl + "211.docx"; + String wordOldUrl = "204.docx"; + List woldUrlList = new ArrayList<>(); + woldUrlList.add(wordOldUrl); Map params = new HashMap<>(); - List> assetList = new ArrayList<>(); - for (int i = 0; i < 8; i++) { - Map assetMap = new HashMap<>(); - assetMap.put("seq", String.valueOf(i / 4)); - assetMap.put("customer", "供方" + String.valueOf(i / 4)); - assetMap.put("customerName", "供方名字" + i); - assetMap.put("model", "型号" + i); - assetMap.put("proposeTime", "启用时间" + i); - assetMap.put("score", "维修时间"); - assetMap.put("status", "我醉"); - assetMap.put("evaluate", "我醒"); - assetList.add(assetMap); - } - params.put("xCustomerListOne", assetList); - params.put("hCustomerListOne", assetList); - params.put("createUserName", "张三"); - params.put("xTotalScore", "20"); - params.put("xAverageScore", "10"); - params.put("hTotalScore", "20"); - params.put("hAverageScore", "10"); - params.put("customerName", "张三"); - params.put("customerNo", "CZ078129"); - params.put("createTime", "2023-10-10"); - params.put("conclusion", "你的结论是什么"); - params.put("customerAdviceHandle", "用户处理的意见"); - params.put("customerAdvice", "我认为该客户无价"); - params.put("test", "\uF052"); - params.put("error", "\uF0A3"); -// String newOldUrl = FilePrintRegisterUtils.exportWord(wordOldUrl, localPathUrl, "temp.docx", params, null); -// System.out.println(newOldUrl); +// List> assetList = new ArrayList<>(); +// for (int i = 0; i < 8; i++) { +// Map assetMap = new HashMap<>(); +// assetMap.put("seq", String.valueOf(i / 4)); +// assetMap.put("customer", "供方" + String.valueOf(i / 4)); +// assetMap.put("customerName", "供方名字" + i); +// assetMap.put("model", "型号" + i); +// assetMap.put("proposeTime", "启用时间" + i); +// assetMap.put("score", "维修时间"); +// assetMap.put("status", "我醉"); +// assetMap.put("evaluate", "我醒"); +// assetList.add(assetMap); +// } +//// params.put("xCustomerListOne", assetList); +// params.put("hCustomerListOne", assetList); +// params.put("createUserName", "张三"); +// params.put("xTotalScore", "20"); +// params.put("xAverageScore", "10"); +// params.put("hTotalScore", "20"); +// params.put("hAverageScore", "10"); +// params.put("customerName", "张三"); +// params.put("customerNo", "CZ078129"); +// params.put("createTime", "2023-10-10"); +// params.put("conclusion", "你的结论是什么"); +// params.put("customerAdviceHandle", "用户处理的意见"); +// params.put("customerAdvice", "我认为该客户无价"); +// params.put("test", "\uF052"); + params.put("box", "203"); + String newOldUrl = FilePrintRegisterUtils.exportWord(localPathUrl, woldUrlList, params, null); + System.out.println(newOldUrl); + } + + private static void textBoxTest() throws IOException { + Map map = new HashMap<>(); +// map.put("box", "一直大胖娇"); + ConfigureBuilder builder = Configure.builder(); + XWPFTemplate compile = XWPFTemplate.compile("D:\\casic\\cut\\204.docx",builder.build()); + compile.render(map); + compile.writeToFile("D:\\casic\\cut\\out_test3.docx"); } public static void main(String[] args) throws Exception { //内嵌表信息 - Example.mergeDoc(); +// Example.populateTableNest(); + textBoxTest(); } /** diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index 3d98243..c7b27f0 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -48,6 +48,12 @@ com.deepoove poi-tl 1.10.0 + + + org.apache.logging.log4j + log4j-api + + diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java index a510c41..f4f5e4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java @@ -161,7 +161,9 @@ } - //证书报告有一部分海口或者西昌的固定数据,例如海口/西昌标志,电话邮箱等地址 + /** + * 创建原始记录文件 + */ private String createOriginalFile(BizBusinessDeviceMeasureApproval measureItemInfo) { try { semaphore.acquire(); @@ -190,7 +192,9 @@ } } - //检查是否能生成证书 + /** + * 检查是否能生成证书 + */ private Boolean checkOutUnablePrint(BizBusinessDeviceMeasureApproval measureItemInfo) { //通过检定项名称,获取对应的模块配置列表 if (StringUtils.isNotEmpty(measureItemInfo.getItemCategoryName())) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java index f619915..138c7cc 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java @@ -58,6 +58,14 @@ } + public static void main(String[] args) { + String pdfNewUrl = "D:\\casic\\cut\\temp测试报告_1698197691704.pdf"; + String stampSealImgUrl = "D:\\casic\\cut\\检验章02_1694585722058.jpeg"; + String outFilePath = "D:\\casic\\cut\\crossSeal.pdf"; + wordFullSeam(pdfNewUrl, stampSealImgUrl, outFilePath); + } + + /** * 骑缝章只存在一个章在进行打印 */ @@ -74,8 +82,8 @@ for (int n = 1; n <= nums; n++) { PdfContentByte over = stamp.getOverContent(n);//设置在第几页打印印章 Image img = nImage[n - 1];//选择图片 - img.scalePercent(10, 10); - img.setAbsolutePosition(width - img.getWidth() / 10, height / 2 - img.getHeight() / 20);//控制图片位置 + img.scalePercent(40, 40); + img.setAbsolutePosition(width - img.getWidth() *4/ 10, height / 2 - img.getHeight()*4 / 20);//控制图片位置 over.addImage(img); } stamp.close(); @@ -90,7 +98,7 @@ for (int i = 0; i < n; i++) { BufferedImage img = ImageIO.read(new File(subFileUrls.get(i))); String[] framges = subFileUrls.get(i).split("\\."); - ImageIO.write(img, framges[framges.length-1], out); + ImageIO.write(img, framges[framges.length - 1], out); nImage[i] = Image.getInstance(out.toByteArray()); out.flush(); out.reset(); @@ -132,4 +140,5 @@ footerParagraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Center); } + } 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 58d0685..4eeddeb 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 @@ -1,14 +1,20 @@ package com.casic.missiles.service.listeners.register; import com.casic.missiles.dto.certificate.ElectronicImage; -import com.casic.missiles.dto.certificate.FilePrintRegister; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; import com.spire.doc.Document; import com.spire.doc.FileFormat; -import com.spire.doc.Section; 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 java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -66,8 +72,8 @@ params.put("degree", "博士"); params.put("test", "\uF052"); params.put("error", "\uF0A3"); -// String newOldUrl = FilePrintRegisterUtils.exportWord(wordOldUrl, localPathUrl, "temp.docx", params, null); -// System.out.println(newOldUrl); +// String newOldUrl = FilePrintRegisterUtils.exportWord(wordOldUrl, localPathUrl, "temp.docx", params, null); +// System.out.println(newOldUrl); } /** @@ -76,43 +82,55 @@ public static void populateTableNest() { String localPathUrl = "D:\\casic\\cut\\"; // 目标文件地址 - String wordOldUrl = localPathUrl + "211.docx"; + String wordOldUrl = "204.docx"; + List woldUrlList = new ArrayList<>(); + woldUrlList.add(wordOldUrl); Map params = new HashMap<>(); - List> assetList = new ArrayList<>(); - for (int i = 0; i < 8; i++) { - Map assetMap = new HashMap<>(); - assetMap.put("seq", String.valueOf(i / 4)); - assetMap.put("customer", "供方" + String.valueOf(i / 4)); - assetMap.put("customerName", "供方名字" + i); - assetMap.put("model", "型号" + i); - assetMap.put("proposeTime", "启用时间" + i); - assetMap.put("score", "维修时间"); - assetMap.put("status", "我醉"); - assetMap.put("evaluate", "我醒"); - assetList.add(assetMap); - } - params.put("xCustomerListOne", assetList); - params.put("hCustomerListOne", assetList); - params.put("createUserName", "张三"); - params.put("xTotalScore", "20"); - params.put("xAverageScore", "10"); - params.put("hTotalScore", "20"); - params.put("hAverageScore", "10"); - params.put("customerName", "张三"); - params.put("customerNo", "CZ078129"); - params.put("createTime", "2023-10-10"); - params.put("conclusion", "你的结论是什么"); - params.put("customerAdviceHandle", "用户处理的意见"); - params.put("customerAdvice", "我认为该客户无价"); - params.put("test", "\uF052"); - params.put("error", "\uF0A3"); -// String newOldUrl = FilePrintRegisterUtils.exportWord(wordOldUrl, localPathUrl, "temp.docx", params, null); -// System.out.println(newOldUrl); +// List> assetList = new ArrayList<>(); +// for (int i = 0; i < 8; i++) { +// Map assetMap = new HashMap<>(); +// assetMap.put("seq", String.valueOf(i / 4)); +// assetMap.put("customer", "供方" + String.valueOf(i / 4)); +// assetMap.put("customerName", "供方名字" + i); +// assetMap.put("model", "型号" + i); +// assetMap.put("proposeTime", "启用时间" + i); +// assetMap.put("score", "维修时间"); +// assetMap.put("status", "我醉"); +// assetMap.put("evaluate", "我醒"); +// assetList.add(assetMap); +// } +//// params.put("xCustomerListOne", assetList); +// params.put("hCustomerListOne", assetList); +// params.put("createUserName", "张三"); +// params.put("xTotalScore", "20"); +// params.put("xAverageScore", "10"); +// params.put("hTotalScore", "20"); +// params.put("hAverageScore", "10"); +// params.put("customerName", "张三"); +// params.put("customerNo", "CZ078129"); +// params.put("createTime", "2023-10-10"); +// params.put("conclusion", "你的结论是什么"); +// params.put("customerAdviceHandle", "用户处理的意见"); +// params.put("customerAdvice", "我认为该客户无价"); +// params.put("test", "\uF052"); + params.put("box", "203"); + String newOldUrl = FilePrintRegisterUtils.exportWord(localPathUrl, woldUrlList, params, null); + System.out.println(newOldUrl); + } + + private static void textBoxTest() throws IOException { + Map map = new HashMap<>(); +// map.put("box", "一直大胖娇"); + ConfigureBuilder builder = Configure.builder(); + XWPFTemplate compile = XWPFTemplate.compile("D:\\casic\\cut\\204.docx",builder.build()); + compile.render(map); + compile.writeToFile("D:\\casic\\cut\\out_test3.docx"); } public static void main(String[] args) throws Exception { //内嵌表信息 - Example.mergeDoc(); +// Example.populateTableNest(); + textBoxTest(); } /** 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 8268aed..8c925d0 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 @@ -1,6 +1,5 @@ package com.casic.missiles.service.listeners.register; -import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; @@ -8,6 +7,9 @@ import com.casic.missiles.dto.certificate.FilePrintRegister; import com.casic.missiles.model.file.ImageConfig; import com.casic.missiles.service.listeners.util.ParseWord07; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; import com.spire.doc.*; import com.spire.doc.documents.*; import com.spire.doc.fields.DocPicture; @@ -86,7 +88,7 @@ String pdfNewUrl = filePrintRegister.getFileNames().get(0).replaceAll("docx", "pdf"); String tempPdfUrl = filePrintRegister.getTemDir() + "temp" + pdfNewUrl; FilePrintRegisterUtils.wordToPdf(wordOldUrl, tempPdfUrl); - DocPictureProvider.wordFullSeam(tempPdfUrl, selectSeal.getElectronicSealImageUrl(), pdfNewUrl); + DocPictureProvider.wordFullSeam(tempPdfUrl, selectSeal.getElectronicSealImageUrl(), filePrintRegister.getTemDir() + pdfNewUrl); return pdfNewUrl; } return wordOldUrl; @@ -391,6 +393,14 @@ fos = new FileOutputStream(tmpPath); doc.write(fos); fos.flush(); + + //增加对固定文本框的处理 + ConfigureBuilder builder = Configure.builder(); + XWPFTemplate compile = XWPFTemplate.compile(temDir + fileName, builder.build()); + compile.render(params); + fileName = "temp" + fileName; + tmpPath = temDir + fileName; + compile.writeToFile(tmpPath); } catch (Exception e) { e.printStackTrace(); } finally {