修改拆分自动编号重复标题问题

This commit is contained in:
高嵩
2024-09-06 17:41:39 +08:00
parent 383a598340
commit 22f6ac0aad
3 changed files with 15 additions and 5 deletions
@@ -256,7 +256,7 @@ public class FileSpiltService {
}
//获得序号标题和无标题序号
TitleNumberVO titleNumberVO = AsposeUtil.getNumber(is1);
Map<String, String> titleNumberMap = titleNumberVO.getTitleNumberMap();
Map<String, List<String>> titleNumberMap = titleNumberVO.getTitleNumberMap();
List<String> emptyTitleList = titleNumberVO.getEmptyTitleList();
// 记录拆分后的每一段文字
List<IBodyElement> elements = doc.getBodyElements();
@@ -401,8 +401,11 @@ public class FileSpiltService {
emptyTitleList.remove(0);
}else if (StringUtils.isNotBlank(paragraphString) && titleNumberMap.containsKey(paragraphString)){
replaceNumberFlag = true;
replaceNumber = titleNumberMap.get(paragraphString);
List<String> stringList = titleNumberMap.get(paragraphString);
replaceNumber = stringList.get(0);
//replaceNumber = titleNumberMap.get(paragraphString);
paragraphString = replaceNumber + paragraphString;
stringList.remove(0);
}
String startDigit;
if (replaceNumberFlag){
@@ -22,7 +22,7 @@ public class AsposeUtil {
*/
public static TitleNumberVO getNumber(InputStream is) {
TitleNumberVO titleNumberVO = new TitleNumberVO();
Map<String, String> titleNumberMap = new HashMap<>();
Map<String, List<String>> titleNumberMap = new HashMap<>();
List<String> emptyTitleList = new ArrayList<>();
try {
Document doc = new Document(is);
@@ -59,7 +59,14 @@ public class AsposeUtil {
System.out.println("Text:" + labelString + 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 {
emptyTitleList.add(labelString);
}
@@ -11,6 +11,6 @@ import java.util.Map;
*/
@Data
public class TitleNumberVO {
private Map<String, String> titleNumberMap;
private Map<String, List<String>> titleNumberMap;
private List<String> emptyTitleList;
}