Perl PDF逐行解析?

时间:2011-02-16 20:27:54

标签: perl pdf pdf-parsing

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

谢谢,

1 个答案:

答案 0 :(得分:6)

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

The XML format相当简单。您将获得PDF中每个页面的<page>元素,其中包含描述所用字体的<fontspec>元素以及每行文本的<text>元素。 <text>元素可能包含用于粗体和斜体文本的<b><i>标记(这就是为什么XML :: Simple无法正确解析它)。

您需要使用top标记的left<text>属性才能按正确顺序排列,因为它们不一定是从上到下排放的订购。坐标系在页面的左上角有0,0,向下和向右为正。尺寸采用PostScript点(每英寸72点)。