【问题标题】:Perl PDF line by line Parser?Perl PDF逐行解析器?
【发布时间】:2011-02-16 20:27:54
【问题描述】:

我有一个 pdf,仅包含文本,没有特殊字符或图像等。 是否有任何 Perl 模块(一直在查看 cpan 无济于事)来帮助我逐行解析每个页面? (将 PDF 转换为文本会产生不良结果和无法解析的数据)

谢谢,

【问题讨论】:

  • PDF 不是文本文件。它甚至不是纯文本标记。
  • 您使用什么程序尝试将 PDF 转换为文本,pdftotext? en.wikipedia.org/wiki/Pdftotext

标签: perl pdf pdf-parsing


【解决方案1】:

当我想从 PDF 中提取文本时,我使用 -xml 输出选项将其提供给 pdftohtmlPoppler 的一部分)。这会生成一个 XML 文件,我使用 XML::Twig(或您喜欢的任何其他 XML 解析器,除了 XML::Simple)来解析它。

The XML format 相当简单。 PDF 中的每一页都有一个 <page> 元素,其中包含描述所用字体的 <fontspec> 元素和每行文本的 <text> 元素。 <text> 元素可能包含用于粗体和斜体文本的 <b><i> 标记(这就是 XML::Simple 无法正确解析它的原因)。

您确实需要使用<text> 标记的topleft 属性来使它们以正确的顺序排列,因为它们不一定以从上到下的顺序发出。坐标系在页面的左上角有 0,0,向下和向右是正数。尺寸以 PostScript 磅为单位(每英寸 72 磅)。

【讨论】:

  • 感谢 Poppler/pdftohtml 的提示
猜你喜欢
  • 1970-01-01
  • 2016-04-04
  • 1970-01-01
  • 1970-01-01
  • 2013-11-15
  • 1970-01-01
  • 1970-01-01
  • 2011-12-05
  • 1970-01-01
相关资源
最近更新 更多