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

Perl 哪一个模块可以有效地一次性解析.pdf文件?CAM::PDF或PDF::API2,perl,adobe,Perl,Adobe,我想从一个巨大的pdf文件[50MB]中提取所有关键字? 哪个模块适合解析大型pdf文件? 我关心解析巨大文件的内存&提取几乎所有的关键字! 这里我想要SAX类型的解析[一次性解析]&而不是DOM类型的[类似于XML]。要从PDF中读取文本,我们使用CAM::PDF,它工作得很好。在一些较大的文件上速度不是很快,但是处理大文件的能力也不错。我们当然有一些是~100Mb,并且处理得很好。如果我记得的话,我们在32位(Windows)Perl上遇到了一些130Mb的问题,但当时我们的内存中有很多其他

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

要从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
似乎更轻,一次可以检索一个页面,因此可能会减少提取非常大文本的负载

您是否尝试过标题中列出的模块?其中一个对你有好处吗?没有!我试过只使用CAM::PDF。那你为什么不试试另一个,看看它是否更适合?