作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 docx4j 的 BookmarksReplaceWithText.java 示例中,我看到以下行。 RangeFinder 到底有什么作用?我找不到明确的描述。
RangeFinder rt = new RangeFinder("CTBookmark", "CTMarkupRange");
最佳答案
据我了解,RangeFinder 收集 xml 文件中的所有书签起点和终点。 RangeFinder 需要与您要搜索的对象一起放入 TraversalUtil 中(可以是整个文档或段落或其他任何内容):
RangeFinder rt = new RangeFinder("CTBookmark", "CTMarkupRange");
new TraversalUtil(paragraphs, rt);
完成此操作后,您可以调用 rt.getStarts() 或 rt.getEnds() 来获取开始和结束书签位置的列表。我的意思是,如果您查看文档的 XML 文件,您会发现书签开头和书签结尾,例如:
<w:bookmarkStart w:id="1" w:name="BookmarkName"/>
<w:r>
<w:t>bookmark</w:t>
</w:r>
<w:bookmarkEnd w:id="1"/>
通过它,您可以替换 BookmarksReplaceWithText.java 中描述的内容或任意数量的其他内容。
关于java - docx4j 中的 RangeFinder ("CTBookmark"、 "CTMarkupRange") 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34291900/
在 docx4j 的 BookmarksReplaceWithText.java 示例中,我看到以下行。 RangeFinder 到底有什么作用?我找不到明确的描述。 RangeFinder rt =
我是一名优秀的程序员,十分优秀!