将大型 PDF 转换为文本的方法



任何人都可以建议一种以编程方式将大型(100MB-4GB)PDF转换为文本的方法或库吗?

我通常使用 pdftotext (poppler-utils),但它为大文件显示"内存不足"消息,并且输出文本文件中只有前 6000 页左右

。也许有

一种方法可以将这些PDF拆分然后运行pdftotext,也许有方法可以在不占用内存的情况下成功运行更昂贵的调用,也许另一个库是最好的......基本上,我很想听听你的建议。谢谢大家!

我们正在从PDF解析报纸和杂志并将它们转换为JPEG,不完全相同,但是在打开和解析时,我们使用imagemagick/ghostscript时,我们在内存中遇到了同样的问题。

我们的解决方案是将它们分成 10 页以下的批次,一次解析一个批次,然后将结果按顺序排列,或者将文本附加到存储它的位置。

如果pdftotext不支持,您可以使用imagemagick/ghostscript将它们拆分为较小的PDF。

因为输入PDF文件中有数千页。每个页面可能包含文本、图像和其他对象,这些对象经过解压缩,可能占用多达 x2 或更多内存。

因此,您可以将文件拆分为 3000 页,如下所示:

  1. 使用 拆分源 PDF 文件

    • 通过 PDFSplit 脚本从命令行使用 Ghostscript:

pdfsplit input.pdf 1 3000 output1-3000.pdf

pdfsplit input.pdf 3001 6000 output3001-6000.pdf

  1. 运行pdftotext将pdf转换为文本文件;

  2. 最后合并输出文件:

cat output1-3000.txt output3001-6000.txt > output-all-pages.txt

您也可以在步骤(1)中使用PDFSam实用程序手动拆分文件。

相关内容

  • 没有找到相关文章

最新更新