【问题标题】:How do I extract text from a number of PDF files contained in subfolders?如何从包含在子文件夹中的多个 PDF 文件中提取文本?
【发布时间】:2012-05-18 16:23:56
【问题描述】:

我需要整理数以千计的 PDF 文件,这些文件的名称和组织都很糟糕。它们位于一个主文件夹中,但它们存储在各种子文件夹中,我无法更改该文件夹结构。

我的目标是提取所有 PDF 的文本并将其附加到一个大文本文件中,这对于以后的索引很有用。在我的文本文件中,我想在文本文件夹中获取 PDF 文件路径以及每页末尾的@@@@ End of page # 1 @@@@

文本文档将开始:

@@@@ PDF Filepath : $thefilepath @@@@
.... text ....
.... text ....
.... text ....
@@@@ End of page # 1 @@@@
.... text ....
.... text ....
@@@@ End of page # 2 @@@@
@@@ PDF Filepath : $thenextfilepath @@@@
.... text ....
....
....

谁能帮我解决这个问题?

【问题讨论】:

  • 你试过什么?你打算用什么来从 pdf 文件中提取文本?你发现了什么问题?你的编程问题是什么?
  • “页面”对您来说意味着什么?我如何根据 PDF 文件的内容知道页面结束?

标签: perl pdf batch-file indexing


【解决方案1】:

最明显的方法是简单地遍历文件,使用 readdir 内置函数来获取子文件夹和文件的名称。 对于每个文件,您使用一些 Perl 模块或命令行实用程序(例如 CAM::PDFText::FromAnypdftotext)提取文本并将其与 PDF 文件路径一起附加到输出文本文件和页面信息。

【讨论】:

  • 很好的建议,Snorri! CAM::PDF 包括可用于创建聚合文本文档的 $doc->numPages()$doc->getPageText($pagenum)(其中,例如 my $doc = CAM::PDF->new('test1.pdf');)。
最近更新 更多