update 可以拆分重复标题

This commit is contained in:
lijiarao
2024-05-08 16:46:46 +08:00
parent 1145f02e5d
commit e388c67aae
3 changed files with 15 additions and 5 deletions
@@ -191,7 +191,7 @@ public class FileSpiltService {
//获得序号标题和无标题序号 //获得序号标题和无标题序号
TitleNumberVO titleNumberVO = AsposeUtil.getNumber(inputStream1); TitleNumberVO titleNumberVO = AsposeUtil.getNumber(inputStream1);
//TitleNumberVO titleNumberVO = new TitleNumberVO(); //TitleNumberVO titleNumberVO = new TitleNumberVO();
Map<String, String> titleNumberMap = titleNumberVO.getTitleNumberMap(); Map<String, List<String>> titleNumberMap = titleNumberVO.getTitleNumberMap();
List<String> emptyTitleList = titleNumberVO.getEmptyTitleList(); List<String> emptyTitleList = titleNumberVO.getEmptyTitleList();
// 记录拆分后的每一段文字 // 记录拆分后的每一段文字
List<IBodyElement> elements = doc.getBodyElements(); List<IBodyElement> elements = doc.getBodyElements();
@@ -359,8 +359,11 @@ public class FileSpiltService {
emptyTitleList.remove(0); emptyTitleList.remove(0);
}else if (StringUtils.isNotBlank(paragraphString) && titleNumberMap.containsKey(paragraphString)){ }else if (StringUtils.isNotBlank(paragraphString) && titleNumberMap.containsKey(paragraphString)){
replaceNumberFlag = true; replaceNumberFlag = true;
replaceNumber = titleNumberMap.get(paragraphString); List<String> stringList = titleNumberMap.get(paragraphString);
replaceNumber = stringList.get(0);
//replaceNumber = titleNumberMap.get(paragraphString);
paragraphString = replaceNumber + paragraphString; paragraphString = replaceNumber + paragraphString;
stringList.remove(0);
} }
String startDigit; String startDigit;
if (replaceNumberFlag){ if (replaceNumberFlag){
@@ -22,7 +22,7 @@ public class AsposeUtil {
*/ */
public static TitleNumberVO getNumber(InputStream is) { public static TitleNumberVO getNumber(InputStream is) {
TitleNumberVO titleNumberVO = new TitleNumberVO(); TitleNumberVO titleNumberVO = new TitleNumberVO();
Map<String, String> titleNumberMap = new HashMap<>(); Map<String, List<String>> titleNumberMap = new HashMap<>();
List<String> emptyTitleList = new ArrayList<>(); List<String> emptyTitleList = new ArrayList<>();
try { try {
Document doc = new Document(is); Document doc = new Document(is);
@@ -59,7 +59,14 @@ public class AsposeUtil {
System.out.println("Text:" + labelString + text); System.out.println("Text:" + labelString + text);
if (StringUtils.isNotBlank(text)) { if (StringUtils.isNotBlank(text)) {
titleNumberMap.put(text, labelString); if (titleNumberMap.containsKey(text)) {
List<String> strings = titleNumberMap.get(text);
strings.add(labelString);
}else {
List<String> strings = new ArrayList<>();
strings.add(labelString);
titleNumberMap.put(text, strings);
}
} else { } else {
emptyTitleList.add(labelString); emptyTitleList.add(labelString);
} }
@@ -11,6 +11,6 @@ import java.util.Map;
*/ */
@Data @Data
public class TitleNumberVO { public class TitleNumberVO {
private Map<String, String> titleNumberMap; private Map<String, List<String>> titleNumberMap;
private List<String> emptyTitleList; private List<String> emptyTitleList;
} }