使用Apache PdfBox在两个书签之间提取文本
问题描述:
我正在使用Apache PDFBox来读取具有由书签定义的层次结构的PDF文档。层次结构是树形格式,仅包含叶级别的内容。使用Apache PdfBox在两个书签之间提取文本
使用下面的代码中提取二叶级书签之间的文本:
Stripper.setStartBookmark(),
Stripper.setEndBookmark(),
Stripper.writeText()),
返回文本,而不是整个页面。总之,我的问题类似于this thread中提到的问题。
有没有办法提取两个书签之间的内容?
如果是这样,我的代码应该改变什么?
答
我猜你的书签不包含正确的数据。
这听起来像你正在使用的仅指向的页的书签您的内容开始,而不是页面上的位置。
这里是包含位置数据的书签的示例:
<Title Action="GoTo" Style="bold" Page="2 FitH 518">
Title Name
</Title>
+0
在PDFBox中,书签由于书签中的特定GoTo操作而被解析为PDPageXYZDestination。因此,他们确实指向了页面中的绝对位置,这在我的PDF查看器中得到了验证,点击书签可以直接滚动到部分。 – nickb 2013-02-04 14:02:12
-I @Shiram有同样的问题。如果您已经找到答案,请发布答案 – Kasun 2012-08-24 09:36:52
您是否找到解决方案?如果没有,您有书签的示例(例如,以XML格式)。 – maffo 2013-02-03 23:11:18