java POI 获取书签内容,即使手动换行也能获取到
需求:在线编辑后,获取word模板中的标题内容,标题输入时换行了,结果常规获取段落内容方式只能获取到第一行的文本,要获取书签内的所有内容,解决方案如下:
一、修改模板,如标题书签为PO_title,在此书签之前的位置重新添加一个书签:start
总之就是要想办法获取到整改书签内的内容,就借助本书签之前的书签到本书签结束位置的所有内容,就是本书签的全部信息了
Document doc = new Document("D:/text.docx");
DocumentBuilder builder = new DocumentBuilder(doc);
builder.startBookmark("start");
BookmarkEnd end = builder.endBookmark("PO_title");
Bookmark bookmark = doc.getRange().getBookmarks().get("PO_title");
bookmark.getBookmarkStart().getParentNode().insertBefore(end, bookmark.getBookmarkStart());
String value = doc.getRange().getBookmarks().get(end.getName()).getText();