Java 使用ApachePDFBox在两个书签之间提取文本

Java 使用ApachePDFBox在两个书签之间提取文本,java,pdf,pdfbox,Java,Pdf,Pdfbox,我正在使用ApachePDFBox阅读一个PDF文档,该文档具有由书签定义的层次结构。层次结构是树形结构,内容仅在叶级 使用以下代码提取两个叶级书签之间的文本: Stripper.setStartBookmark(), Stripper.setEndBookmark(), Stripper.writeText()), 而是返回整个页面中的文本。简言之,我的问题与中提到的类似 有没有办法提取两个书签之间的内容 如果是这样,我的代码应该有什么变化?我猜您的书签没有包含正确的数据 听起来您使用的

我正在使用ApachePDFBox阅读一个PDF文档,该文档具有由书签定义的层次结构。层次结构是树形结构,内容仅在叶级

使用以下代码提取两个叶级书签之间的文本:

Stripper.setStartBookmark(), 
Stripper.setEndBookmark(),
Stripper.writeText()), 
而是返回整个页面中的文本。简言之,我的问题与中提到的类似

有没有办法提取两个书签之间的内容


如果是这样,我的代码应该有什么变化?

我猜您的书签没有包含正确的数据

听起来您使用的书签只指向内容开始的页面,而不是页面上的位置

以下是包含位置数据的书签示例:

<Title Action="GoTo" Style="bold" Page="2 FitH 518">
Title Name
</Title>

书名

@Shiram-我也有同样的问题。如果你已经找到答案,请张贴答案。你找到解决方案了吗?如果没有,您没有书签的示例(例如,XML格式)。在PDFBox中,由于书签的特定转到操作,书签被解析为PDPageXYZDestination。所以,它们确实指向了页面中的一个绝对位置,这在我的PDF查看器中得到了验证,单击书签可以直接滚动到该部分。