我想从巨大的pdf文件[50MB]中提取所有关键字? 哪个模块适合解析大型pdf文件? 我关心内存解析巨大的文件&提取几乎所有的关键字! 在这里,我想要SAX类解析[one go parsing]&不是DOM类[类似于XML]。
答案 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
似乎总体上更轻,并且可以一次检索一页,因此可以减少提取非常大的文本的负担。