使用Apache PdfBox在两个书签之间提取文本

问题描述:

我正在使用Apache PDFBox来读取具有由书签定义的层次结构的PDF文档。层次结构是树形格式,仅包含叶级别的内容。使用Apache PdfBox在两个书签之间提取文本

使用下面的代码中提取二叶级书签之间的文本:

Stripper.setStartBookmark(), 
Stripper.setEndBookmark(), 
Stripper.writeText()), 

返回文本,而不是整个页面。总之,我的问题类似于this thread中提到的问题。

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

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

+0

-I @Shiram有同样的问题。如果您已经找到答案,请发布答案 – Kasun 2012-08-24 09:36:52

+0

您是否找到解决方案?如果没有,您有书签的示例(例如,以XML格式)。 – maffo 2013-02-03 23:11:18

我猜你的书签不包含正确的数据。

这听起来像你正在使用的仅指向的页的书签您的内容开始,而不是页面上的位置

这里是包含位置数据的书签的示例:

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

在PDFBox中,书签由于书签中的特定GoTo操作而被解析为PDPageXYZDestination。因此,他们确实指向了页面中的绝对位置,这在我的PDF查看器中得到了验证,点击书签可以直接滚动到部分。 – nickb 2013-02-04 14:02:12