【问题标题】:Extracting text between two bookmarks using Apache PdfBox使用 Apache PdfBox 提取两个书签之间的文本
【发布时间】:2012-03-23 16:24:23
【问题描述】:

我正在使用 Apache PDFBox 读取具有由书签定义的层次结构的 PDF 文档。层次结构是树形的,内容仅在叶级。

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

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

改为返回整个页面中的文本。总之,我的问题和this thread中提到的类似。

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

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

【问题讨论】:

  • @Shiram -我有同样的问题。如果您已经弄清楚了,请发布答案
  • 您找到解决方案了吗?如果没有,您是否有书签示例(例如,XML 格式)。

标签: java pdf pdfbox


【解决方案1】:

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

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

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

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

【讨论】:

  • 在 PDFBox 中,书签被解析为 PDPageXYZDestination,这是来自书签的特定 GoTo 操作的结果。因此,它们确实指向页面中的绝对位置,这在我的 PDF 查看器中得到了验证,单击书签会直接滚动到部分。
猜你喜欢
  • 2011-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-23
  • 1970-01-01
  • 2016-06-22
  • 2020-06-19
  • 1970-01-01
相关资源
最近更新 更多