哪个模块可以一次解析.pdf文件? CAM :: PDF或PDF :: API2

时间:2011-05-18 06:38:39

标签: perl adobe

我想从巨大的pdf文件[50MB]中提取所有关键字? 哪个模块适合解析大型pdf文件? 我关心内存解析巨大的文件&提取几乎所有的关键字! 在这里,我想要SAX类解析[one go parsing]&不是DOM类[类似于XML]。

1 个答案:

答案 0 :(得分:1)

要从PDF中读取文本,我们使用CAM::PDF,它工作得很好。它在一些较大的文件上速度不是很快,但处理大文件的能力并不差。我们当然有一些~100Mb,并且处理好了。如果我记得,我们在32位(Windows)Perl上使用了130Mb的一些,但我们当时在内存中还有很多其他内容。我们确实看过PDF::API2,但它似乎更倾向于生成从中读取的PDF。我们没有把大文件扔进PDF::API2,所以我不能给出真正的基准数字。

我们使用CAM::PDF发现的唯一重大缺点是PDF 1.6变得越来越普遍,而且在CAM :: PDF中根本不起作用。这对您来说可能不是问题,但可能需要考虑。

在回答你的问题时,我很确定这两个模块都以一种或另一种形式将整个源PDF读入内存,但我不认为CAM::PDF构建了更复杂的结构。因此,两者都不像SAX一样,但CAM::PDF似乎总体上更轻,并且可以一次检索一页,因此可以减少提取非常大的文本的负担。