2011-05-18 56 views
3

我想从一个巨大的pdf文件[50MB]中提取所有关键字? 哪个模块适合大型pdf文件解析? 我关心内存解析大文件&几乎提取所有关键字! 这里我想要SAX类型的解析[一个去解析] &不是DOM类型[与XML类比]。哪个模块能够一次性解析.pdf文件? CAM :: PDF或PDF :: API2

+0

您是否尝试过在标题中列出的模块?你做了一个或另一个更好吗? – Mat 2011-05-18 06:41:37

+0

不能这样!我只用了CAM :: PDF。 – 2011-05-18 06:48:59

+0

那么为什么你不试试另一个,看看它是否适合更好? – Mat 2011-05-18 06:50:11

回答

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似乎一般较轻,并且可以一次检索一页,所以可以减少提取非常大的文本的负担。