|
@@ -1,9 +1,11 @@
|
|
|
package com.dayou.utils;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
|
|
import org.apache.poi.util.Units;
|
|
|
+import org.apache.poi.xwpf.model.XWPFHeaderFooterPolicy;
|
|
|
import org.apache.poi.xwpf.usermodel.*;
|
|
|
|
|
|
import java.io.FileInputStream;
|
|
@@ -73,7 +75,175 @@ public class POIWordUtil {
|
|
|
} catch (Exception e) {
|
|
|
log.error("validateCode insert error!!!");
|
|
|
}
|
|
|
- }else{
|
|
|
+
|
|
|
+ }
|
|
|
+ else if("${mapLocation}".equals(run.toString())){
|
|
|
+ String path = (String) textMap.get("mapLocation");
|
|
|
+ try {
|
|
|
+ run.setText("",0);
|
|
|
+ XWPFPicture picture = run.addPicture(new FileInputStream("/opt" + path), XWPFDocument.PICTURE_TYPE_PNG, "", Units.toEMU(400), Units.toEMU(500));
|
|
|
+ picture.getCTPicture().getSpPr().getXfrm().getOff().setY(Units.toEMU(120));
|
|
|
+ paragraph.setAlignment(ParagraphAlignment.HIGH_KASHIDA);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("validateCode insert error!!!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if("${sceneImage1}".equals(run.toString())){
|
|
|
+ String path = (String) textMap.get("sceneImage1");
|
|
|
+ try {
|
|
|
+ run.setText("",0);
|
|
|
+ XWPFPicture picture = run.addPicture(new FileInputStream("/opt" + path), XWPFDocument.PICTURE_TYPE_PNG, "", Units.toEMU(205), Units.toEMU(320));
|
|
|
+ picture.getCTPicture().getSpPr().getXfrm().getOff().setY(Units.toEMU(120));
|
|
|
+ paragraph.setAlignment(ParagraphAlignment.HIGH_KASHIDA);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("validateCode insert error!!!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if("${sceneImage2}".equals(run.toString())){
|
|
|
+ String path = (String) textMap.get("sceneImage2");
|
|
|
+ try {
|
|
|
+ run.setText("",0);
|
|
|
+ XWPFPicture picture = run.addPicture(new FileInputStream("/opt" + path), XWPFDocument.PICTURE_TYPE_PNG, "", Units.toEMU(106), Units.toEMU(80));
|
|
|
+ picture.getCTPicture().getSpPr().getXfrm().getOff().setY(Units.toEMU(120));
|
|
|
+ paragraph.setAlignment(ParagraphAlignment.HIGH_KASHIDA);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("validateCode insert error!!!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if("${sceneImage3}".equals(run.toString())){
|
|
|
+ String path = (String) textMap.get("sceneImage3");
|
|
|
+ try {
|
|
|
+ run.setText("",0);
|
|
|
+ XWPFPicture picture = run.addPicture(new FileInputStream("/opt" + path), XWPFDocument.PICTURE_TYPE_PNG, "", Units.toEMU(106), Units.toEMU(80));
|
|
|
+ picture.getCTPicture().getSpPr().getXfrm().getOff().setY(Units.toEMU(120));
|
|
|
+ paragraph.setAlignment(ParagraphAlignment.HIGH_KASHIDA);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("validateCode insert error!!!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if("${sceneImage4}".equals(run.toString())){
|
|
|
+ String path = (String) textMap.get("sceneImage4");
|
|
|
+ try {
|
|
|
+ run.setText("",0);
|
|
|
+ XWPFPicture picture = run.addPicture(new FileInputStream("/opt" + path), XWPFDocument.PICTURE_TYPE_PNG, "", Units.toEMU(106), Units.toEMU(80));
|
|
|
+ picture.getCTPicture().getSpPr().getXfrm().getOff().setY(Units.toEMU(120));
|
|
|
+ paragraph.setAlignment(ParagraphAlignment.HIGH_KASHIDA);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("validateCode insert error!!!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if("${sceneImage5}".equals(run.toString())){
|
|
|
+ String path = (String) textMap.get("sceneImage5");
|
|
|
+ try {
|
|
|
+ run.setText("",0);
|
|
|
+ XWPFPicture picture = run.addPicture(new FileInputStream("/opt" + path), XWPFDocument.PICTURE_TYPE_PNG, "", Units.toEMU(106), Units.toEMU(80));
|
|
|
+ picture.getCTPicture().getSpPr().getXfrm().getOff().setY(Units.toEMU(120));
|
|
|
+ paragraph.setAlignment(ParagraphAlignment.HIGH_KASHIDA);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("validateCode insert error!!!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if("${sceneImage6}".equals(run.toString())){
|
|
|
+ String path = (String) textMap.get("sceneImage6");
|
|
|
+ try {
|
|
|
+ run.setText("",0);
|
|
|
+ XWPFPicture picture = run.addPicture(new FileInputStream("/opt" + path), XWPFDocument.PICTURE_TYPE_PNG, "", Units.toEMU(106), Units.toEMU(80));
|
|
|
+ picture.getCTPicture().getSpPr().getXfrm().getOff().setY(Units.toEMU(120));
|
|
|
+ paragraph.setAlignment(ParagraphAlignment.HIGH_KASHIDA);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("validateCode insert error!!!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if("${sceneImage7}".equals(run.toString())){
|
|
|
+ String path = (String) textMap.get("sceneImage7");
|
|
|
+ try {
|
|
|
+ run.setText("",0);
|
|
|
+ XWPFPicture picture = run.addPicture(new FileInputStream("/opt" + path), XWPFDocument.PICTURE_TYPE_PNG, "", Units.toEMU(106), Units.toEMU(80));
|
|
|
+ picture.getCTPicture().getSpPr().getXfrm().getOff().setY(Units.toEMU(120));
|
|
|
+ paragraph.setAlignment(ParagraphAlignment.HIGH_KASHIDA);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("validateCode insert error!!!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if("${sceneImage7}".equals(run.toString())){
|
|
|
+ String path = (String) textMap.get("sceneImage7");
|
|
|
+ try {
|
|
|
+ run.setText("",0);
|
|
|
+ XWPFPicture picture = run.addPicture(new FileInputStream("/opt" + path), XWPFDocument.PICTURE_TYPE_PNG, "", Units.toEMU(106), Units.toEMU(80));
|
|
|
+ picture.getCTPicture().getSpPr().getXfrm().getOff().setY(Units.toEMU(120));
|
|
|
+ paragraph.setAlignment(ParagraphAlignment.HIGH_KASHIDA);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("validateCode insert error!!!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if("${sceneImage8}".equals(run.toString())){
|
|
|
+ String path = (String) textMap.get("sceneImage8");
|
|
|
+ try {
|
|
|
+ run.setText("",0);
|
|
|
+ XWPFPicture picture = run.addPicture(new FileInputStream("/opt" + path), XWPFDocument.PICTURE_TYPE_PNG, "", Units.toEMU(142), Units.toEMU(80));
|
|
|
+ picture.getCTPicture().getSpPr().getXfrm().getOff().setY(Units.toEMU(120));
|
|
|
+ paragraph.setAlignment(ParagraphAlignment.HIGH_KASHIDA);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("validateCode insert error!!!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if("${sceneImage9}".equals(run.toString())){
|
|
|
+ String path = (String) textMap.get("sceneImage9");
|
|
|
+ try {
|
|
|
+ run.setText("",0);
|
|
|
+ XWPFPicture picture = run.addPicture(new FileInputStream("/opt" + path), XWPFDocument.PICTURE_TYPE_PNG, "", Units.toEMU(142), Units.toEMU(80));
|
|
|
+ picture.getCTPicture().getSpPr().getXfrm().getOff().setY(Units.toEMU(120));
|
|
|
+ paragraph.setAlignment(ParagraphAlignment.HIGH_KASHIDA);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("validateCode insert error!!!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if("${sceneImage10}".equals(run.toString())){
|
|
|
+ String path = (String) textMap.get("sceneImage10");
|
|
|
+ try {
|
|
|
+ run.setText("",0);
|
|
|
+ XWPFPicture picture = run.addPicture(new FileInputStream("/opt" + path), XWPFDocument.PICTURE_TYPE_PNG, "", Units.toEMU(142), Units.toEMU(80));
|
|
|
+ picture.getCTPicture().getSpPr().getXfrm().getOff().setY(Units.toEMU(120));
|
|
|
+ paragraph.setAlignment(ParagraphAlignment.HIGH_KASHIDA);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("validateCode insert error!!!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if("${sceneImage11}".equals(run.toString())){
|
|
|
+ String path = (String) textMap.get("sceneImage11");
|
|
|
+ try {
|
|
|
+ run.setText("",0);
|
|
|
+ XWPFPicture picture = run.addPicture(new FileInputStream("/opt" + path), XWPFDocument.PICTURE_TYPE_PNG, "", Units.toEMU(142), Units.toEMU(80));
|
|
|
+ picture.getCTPicture().getSpPr().getXfrm().getOff().setY(Units.toEMU(120));
|
|
|
+ paragraph.setAlignment(ParagraphAlignment.HIGH_KASHIDA);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("validateCode insert error!!!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if("${sceneImage12}".equals(run.toString())){
|
|
|
+ String path = (String) textMap.get("sceneImage12");
|
|
|
+ try {
|
|
|
+ run.setText("",0);
|
|
|
+ XWPFPicture picture = run.addPicture(new FileInputStream("/opt" + path), XWPFDocument.PICTURE_TYPE_PNG, "", Units.toEMU(142), Units.toEMU(80));
|
|
|
+ picture.getCTPicture().getSpPr().getXfrm().getOff().setY(Units.toEMU(120));
|
|
|
+ paragraph.setAlignment(ParagraphAlignment.HIGH_KASHIDA);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("validateCode insert error!!!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if("${sceneImage13}".equals(run.toString())){
|
|
|
+ String path = (String) textMap.get("sceneImage13");
|
|
|
+ try {
|
|
|
+ run.setText("",0);
|
|
|
+ XWPFPicture picture = run.addPicture(new FileInputStream("/opt" + path), XWPFDocument.PICTURE_TYPE_PNG, "", Units.toEMU(142), Units.toEMU(80));
|
|
|
+ picture.getCTPicture().getSpPr().getXfrm().getOff().setY(Units.toEMU(120));
|
|
|
+ paragraph.setAlignment(ParagraphAlignment.HIGH_KASHIDA);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("validateCode insert error!!!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ else{
|
|
|
run.setText(changeValue(run.toString(),textMap),0);
|
|
|
}
|
|
|
}
|
|
@@ -103,6 +273,39 @@ public class POIWordUtil {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ //获取文档页眉
|
|
|
+ List<XWPFHeader> headers = document.getHeaderList();
|
|
|
+ if (CollectionUtil.isNotEmpty(headers)){
|
|
|
+ for (XWPFHeader header : headers) {
|
|
|
+ for (XWPFParagraph paragraph : header.getParagraphs()) {
|
|
|
+ String text = paragraph.getText();
|
|
|
+ if (StrUtil.isNotBlank(text) && text.contains("${")){
|
|
|
+ List<XWPFRun> runs = paragraph.getRuns();
|
|
|
+ for (XWPFRun run : runs){
|
|
|
+ String textValue = changeValue(run.toString(),textMap);
|
|
|
+ run.setText(textValue,0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取文档页脚
|
|
|
+ List<XWPFFooter> footers = document.getFooterList();
|
|
|
+ if (CollectionUtil.isNotEmpty(footers)){
|
|
|
+ for (XWPFFooter footer : footers) {
|
|
|
+ for (XWPFParagraph paragraph : footer.getParagraphs()) {
|
|
|
+ String text = paragraph.getText();
|
|
|
+ if (StrUtil.isNotBlank(text) && text.contains("${")){
|
|
|
+ List<XWPFRun> runs = paragraph.getRuns();
|
|
|
+ for (XWPFRun run : runs){
|
|
|
+ String textValue = changeValue(run.toString(),textMap);
|
|
|
+ run.setText(textValue,0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|