【问题标题】:which module is efficient for parsing a .pdf file in one go ? CAM::PDF or PDF::API2哪个模块可以有效地一次性解析 .pdf 文件? CAM::PDF 或 PDF::API2
【发布时间】:2011-05-18 06:38:39
【问题描述】:

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

【问题讨论】:

  • 您尝试过标题中列出的模块吗?哪一种对你更有效?
  • 不这样!我只尝试过 CAM::PDF。
  • 那你为什么不试试另一个,看看它是否更合适?

标签: perl adobe


【解决方案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 总体上似乎更轻,并且一次可以检索一页,因此可能会减少提取非常大文本的负载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多