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 = new TitleNumberVO();
Map<String, String> titleNumberMap = titleNumberVO.getTitleNumberMap();
Map<String, List<String>> titleNumberMap = titleNumberVO.getTitleNumberMap();
List<String> emptyTitleList = titleNumberVO.getEmptyTitleList();
// 记录拆分后的每一段文字
List<IBodyElement> elements = doc.getBodyElements();
@@ -359,8 +359,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;
}