段落中上下角标显示

This commit is contained in:
CD
2022-12-15 13:40:20 +08:00
parent 8931636619
commit 3523afae94
@@ -161,7 +161,8 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
try {
AttFileEO attFileEO = attFileEOService.getFileInfo(sarFileSplitInfoEO.getAttId());
//String readFilePath = filePath + "/" + attFileEO.getFilePath() + attFileEO.getFileName();
String readFilePath = filePath + attFileEO.getFilePath() + attFileEO.getFileName();
//String readFilePath = filePath + attFileEO.getFilePath() + attFileEO.getFileName();
String readFilePath = "F:\\合众未来\\项目\\福田汽车全球法规标准管理系统\\GB 1589-2016 汽车、挂车及汽车列车外廓尺寸、轴荷及质量限值.docx";
InputStream is = new FileInputStream(readFilePath); //需要将文件路更改为word文档所在路径。
XWPFDocument doc = new XWPFDocument(is);
@@ -240,7 +241,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
if(CollectionUtils.isNotEmpty(imageBundleList)) {
addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList);
} else {
addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p.getText());
addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p,0);
}
}
}
@@ -265,7 +266,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
if(CollectionUtils.isNotEmpty(imageBundleList)) {
addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList);
} else {
addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p.getText());
addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p,0);
}
}
} else if (messageNumber >= 3) {
@@ -287,7 +288,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName);
treeList.add(sarFileSplitMenuEO) ;
message.setMenuId(sarFileSplitMenuEO.getId());
addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length()));
addItermsConditionsText(message,itemValList,p,nowStart.get(i).length());
messageList.add(message);
nowStart = getNewNowStart(nowStart.get(i));
menuCanAdd = true;
@@ -310,7 +311,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),"附录",itemName,clauseContent);
// 增加一条数据,需要在数结构中加一条数据
SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList("附录",treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,"");
addItermsConditionsText(message,itemValList,paragraphString);
addItermsConditionsText(message,itemValList,p,0);
treeList.add(sarFileSplitMenuEO) ;
message.setMenuId(sarFileSplitMenuEO.getId());
messageList.add(message);
@@ -320,7 +321,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
}
} else {
if (!p.getText().equals("") ){
addItermsConditionsText(messageList.get(messageList.size()-1),itemValList,p.getText());
addItermsConditionsText(messageList.get(messageList.size()-1),itemValList,p,0);
}
List<String> imageBundleList = readImageInParagraph((XWPFParagraph)p);
if(CollectionUtils.isNotEmpty(imageBundleList)) {
@@ -517,9 +518,29 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
}
// 像每个条款中依次插入每一段的内容
private void addItermsConditionsText(SarFileSplitItemsEO message, List<SarFileSplitItemsValEO> itemsValList, String p) {
message.getItemsCondi().add(p);
message.setItermsConditions(message.getItermsConditions() + "<p>" + p + "<p>");
private void addItermsConditionsText(SarFileSplitItemsEO message, List<SarFileSplitItemsValEO> itemsValList, XWPFParagraph p,Integer length) {
StringBuffer buffer = new StringBuffer();
for (XWPFRun xwrun : p.getRuns()) {
VerticalAlign subscript = xwrun.getSubscript();
String smalltext = xwrun.getText(0);
switch (subscript) {
case BASELINE:
buffer.append(smalltext);
break;
case SUBSCRIPT:
buffer.append("<span class=sub>" + smalltext + "</span>");
break;
case SUPERSCRIPT:
buffer.append("<span class=sup>" + smalltext + "</span>");
break;
}
}
String text = buffer.toString();
if (length > 0) {
text = text.substring(length);
}
message.getItemsCondi().add(text);
message.setItermsConditions(message.getItermsConditions() + "<p>" + text + "<p>");
// 判断message中是否引用到其他标准
// String testString = p;
// Pattern ptest = Pattern.compile("[A-Z]{1,}/{0,1}[A-Z]{1,}\\s{0,1}[0-9]\\d*\\.?\\d*");
@@ -542,7 +563,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
// message.setReferenceStand(matcher.group());
// }
// }
itemsValList.add(getSplitItemsValObject(message.getId(), SplitFilePragraTypeEnum.TEXT.getValue(), p, message.getItemsCondi().size(), null));
itemsValList.add(getSplitItemsValObject(message.getId(), SplitFilePragraTypeEnum.TEXT.getValue(), text, message.getItemsCondi().size(), null));
}
private SarFileSplitMenuEO getTreeList(String name, List<SarFileSplitMenuEO> treeList, String generalCatalogueId, SarFileSplitInfoEO sarFileSplitInfoEO, Long treeListDisplay, String itemName) {