0

我的问题是我有一堆 PDF 文件,我想将它们转换为文本文件。其中一些是纯PDF,而另一些则扫描了里面的页面。我正在用 python 编写一个程序,所以我使用 pdftotext 将它们转换为 TXT。

我正在使用下面的命令

filename = glob.glob(src)  //src is my directory with my files 
    for file in filename:
        subprocess.call(["pdftotext", file])

我想问的是是否有办法在转换之前检查扫描的页面,以便我可以使用带有 pdftotext 的 ghostscript 命令来操作它们。现在我有一个阈值来检查 .txt 文件的大小,如果它低于这个阈值,我正在使用 ghostscript 命令来操作它们。

问题在于,即使使用 pdftotext 扫描 90 页中的 50 或 60 页的大型文件,文件的大小也始终高于阈值。

4

1 回答 1

0

一个“纯”的 PDF 文件中可以包含图像......

没有简单的方法来判断 PDF 文件是否是扫描页面。我认为,你最好的选择是分析页面内容流,看看它们是否只包含图像(一些扫描仪将单个扫描页面分解为多个图像)。您可以假设它们是扫描的页面,无论如何您都不会使用 Ghostscript 从它们中获取任何文本。

另一种方法是使用 Ghostscript 的 pdf_info.ps 程序并列出字体使用情况。没有字体 == 没有文本,尽管可能存在字体但仍然没有文本。此外,我认为这不适用于逐页。

于 2015-03-13T11:29:20.150 回答