From 66aa0aa35d335f3d67db043e09c4c2497c182543 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Mon, 5 Aug 2024 09:04:20 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=96=87=E6=A1=A3=E6=8B=86=E5=88=86):=20un?= =?UTF-8?q?=20=E5=85=AC=E5=BC=8F=E8=BD=AC=E5=9B=BE=E7=89=87=EF=BC=8C?= =?UTF-8?q?=E9=99=84=E5=BD=95=E5=88=A4=E6=96=AD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../split/service/impl/FileSpiltService.java | 54 ++++++++++++++++--- 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java b/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java index c96d3552..62988cef 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java +++ b/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java @@ -110,6 +110,7 @@ public class FileSpiltService { * 判断附录正则 */ private static final Pattern APPENDIX_PATTERN = Pattern.compile("^附\\s{0,3}录\\s{0,3}[A-Z]{1}"); + private static final Pattern APPENDIX_PATTERN2 = Pattern.compile("^Annex\\s*\\d+.*$"); /** * 判断范围正则 */ @@ -219,7 +220,6 @@ public class FileSpiltService { ParagraphChildOrderManager runOrMaths = new ParagraphChildOrderManager(p); List childList = runOrMaths.getChildList(); - for (Object child : childList) { //if (child instanceof XWPFRun) { // //处理段落中的文本以及图片 @@ -236,7 +236,7 @@ public class FileSpiltService { .execute().body(); //String post = HttpUtil.post(mathToImgUrl, map); if (messageList.size() > 0) { - addItermsMathImage(messageList.get(messageList.size() - 1), itemValList, post); + addItermsMathImage(messageList.get(messageList.size() - 1), itemValList, post); } } else if (child instanceof CTOMathPara) { @@ -255,6 +255,7 @@ public class FileSpiltService { } } + for (XWPFRun xwrun : p.getRuns()) { VerticalAlign subscript = xwrun.getSubscript(); String smalltext = xwrun.getText(0); @@ -1178,6 +1179,45 @@ public class FileSpiltService { if (element instanceof XWPFParagraph) { XWPFParagraph p = (XWPFParagraph) element; StringBuilder stringBuilder = new StringBuilder(); + + + ParagraphChildOrderManager runOrMaths = new ParagraphChildOrderManager((XWPFParagraph) element); + List childList = runOrMaths.getChildList(); + for (Object child : childList) { + //if (child instanceof XWPFRun) { + // //处理段落中的文本以及图片 + // handleParagraphRun(content, (XWPFRun) child, imageParser); + //} else + if (child instanceof CTOMath) { + CTOMath ctoMath = (CTOMath) child; + String xmlText = ctoMath.xmlText().replaceAll("xml-fragment","m:oMath"); + Map map = new HashMap<>(); + map.put("encode", xmlText); + String post = HttpRequest.post(mathToImgUrl) + .header(Header.CONTENT_TYPE, "application/json") + .body(xmlText) + .execute().body(); + //String post = HttpUtil.post(mathToImgUrl, map); + if (messageList.size() > 0) { + addItermsMathImage(messageList.get(messageList.size() - 1), itemValList, post); + } + } + else if (child instanceof CTOMathPara) { + CTOMathPara ctoMathPara = (CTOMathPara) child; + String xmlText = ctoMathPara.xmlText().replaceAll("xml-fragment","m:oMath");; + Map map = new HashMap<>(); + map.put("encode",xmlText); + String post = HttpRequest.post(mathToImgUrl) + .header(Header.CONTENT_TYPE, "application/json") + .body(xmlText) + .execute().body(); + //String post = HttpUtil.post(mathToImgUrl, map); + if (messageList.size() > 0) { + addItermsMathImage(messageList.get(messageList.size() - 1), itemValList, post); + } + } + } + for (XWPFRun xwrun : p.getRuns()) { VerticalAlign subscript = xwrun.getSubscript(); String smalltext = xwrun.getText(0); @@ -1326,8 +1366,10 @@ public class FileSpiltService { } if (!hasGoIf && menuCanAdd) { - if (paragraphString.toLowerCase().replaceAll("\t", "").startsWith("annex 1") - || paragraphString.toLowerCase().replaceAll("\t", "").startsWith("annex 1a") + boolean b = APPENDIX_PATTERN2.matcher(paragraphString).find(); + if (b +// if (paragraphString.toLowerCase().replaceAll("\t", "").startsWith("annex 1") +// || paragraphString.toLowerCase().replaceAll("\t", "").startsWith("annex 1a") && !messageList.get(messageList.size() - 1).getItemNum().equals("annex")){ // } @@ -1362,8 +1404,8 @@ public class FileSpiltService { } } else { - if (!p.getText().equals("")) { - addItermsConditionsText(messageList.get(messageList.size() - 1), itemValList, p.getText(), p.getAlignment()); + if (!paragraphString.equals("")) { + addItermsConditionsText(messageList.get(messageList.size() - 1), itemValList, paragraphString, p.getAlignment()); } List imageBundleList = readImageInParagraph((XWPFParagraph) p); if (CollectionUtils.isNotEmpty(imageBundleList)) {