【发布时间】:2019-03-28 08:51:20
【问题描述】:
我正在执行一项任务,我需要使用 Java读取 docx 文件的两个书签之间的数据。
我使用下面的代码使用docx4j api 获得了所有书签的名称-
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new java.io.File(file.getPath()));
MainDocumentPart tempDocPart = wordMLPackage.getMainDocumentPart();
List<Object> obj = wordMLPackage.getMainDocumentPart().getContent();
RangeFinder rt = new RangeFinder("CTBookmark", "CTMarkupRange");
new TraversalUtil(obj, rt);
for (CTBookmark bm : rt.getStarts()) {
if(bm.getName().equals("bookmarkstart1")){
System.out.println(bm.getName());
}
}
我的docx 文件书签名称如bookmarkstart1、bookmarkend1、bookmarkstart2、bookmarkend2...等等。
我需要读取bookmarkstart1 和bookmarkend1 之间的数据。
【问题讨论】:
-
这篇文章有一些相关信息:DOCX4J - Copying inbetween two markers.
-
我没有投反对票。
标签: java docx bookmarks docx4j