From fd663690654dee4b33d7c64b216b78e0d76ad3db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Tue, 10 Sep 2024 16:56:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E6=A1=A3=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E7=94=9F=E6=88=90=E5=BA=8F=E5=8F=B7=E4=B8=8D=E8=AF=86?= =?UTF-8?q?=E5=88=AB=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/modules/split/util/AsposeUtil.java | 42 +++++++------------ 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/split/util/AsposeUtil.java b/laws-modules/src/main/java/com/jero/modules/split/util/AsposeUtil.java index 9fc9e4be..dbd5d792 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/util/AsposeUtil.java +++ b/laws-modules/src/main/java/com/jero/modules/split/util/AsposeUtil.java @@ -4,12 +4,12 @@ import com.aspose.words.*; import com.jero.modules.split.vo.TitleNumberVO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.poi.xwpf.usermodel.VerticalAlign; import java.io.InputStream; -import java.util.ArrayList; -import java.util.HashMap; +import java.util.*; import java.util.List; -import java.util.Map; /** * @author liJiaRao @@ -23,28 +23,19 @@ public class AsposeUtil { * @return */ public static TitleNumberVO getNumber(InputStream is) { - long time1=System.currentTimeMillis(); - TitleNumberVO titleNumberVO = new TitleNumberVO(); Map> titleNumberMap = new HashMap<>(); List emptyTitleList = new ArrayList<>(); + List titleNumberList = new ArrayList<>(); try { - long time9=System.currentTimeMillis(); - log.info("耗时:"+(time9-time1)+"ms"); Document doc = new Document(is); - long time8=System.currentTimeMillis(); - log.info("耗时:"+(time8-time1)+"ms"); - DocumentBuilder builder = new DocumentBuilder(doc); - long time7=System.currentTimeMillis(); - log.info("耗时:"+(time7-time1)+"ms"); - //builder.insertField(FieldType.FIELD_NUM_PAGES, true); - long time6=System.currentTimeMillis(); - log.info("耗时:"+(time6-time1)+"ms"); - //获取段落 - NodeCollection childNodes = doc.getChildNodes(NodeType.PARAGRAPH, true); - long time2=System.currentTimeMillis(); - log.info("耗时:"+(time2-time1)+"ms"); + DocumentBuilder builder = new DocumentBuilder(doc); + + builder.insertField(FieldType.FIELD_NUM_PAGES, true); + //获取段落 + NodeCollection childNodes = doc.getChildNodes(NodeType.ANY, true); + for (int i = 0; i < childNodes.getCount(); i++) { Node next = childNodes.get(i); @@ -68,7 +59,9 @@ public class AsposeUtil { labelString = listLabel.getLabelString().trim(); labelString = labelString.replaceAll("\t", "").replaceAll("\b", "") .replaceAll(" ", "").replaceAll("\"", "").replaceAll("'", "").replaceAll(" ", ""); - + if (StringUtils.isBlank(labelString)){ + continue; + } if (StringUtils.isNotBlank(text)) { if (titleNumberMap.containsKey(text)) { List strings = titleNumberMap.get(text); @@ -78,6 +71,7 @@ public class AsposeUtil { strings.add(labelString); titleNumberMap.put(text, strings); } + titleNumberList.add(labelString); } else { emptyTitleList.add(labelString); } @@ -88,14 +82,8 @@ public class AsposeUtil { e.printStackTrace(); } titleNumberVO.setTitleNumberMap(titleNumberMap); + emptyTitleList.removeIf(titleNumberList::contains); titleNumberVO.setEmptyTitleList(emptyTitleList); - long time9=System.currentTimeMillis(); - log.info("耗时:"+(time9-time1)+"ms"); return titleNumberVO; } - - public static void main(String[] args) { - String str = "Annex 1"; - System.out.println(str.substring(0, str.length()-1)); - } }