如何识别需要OCR的PDF文件?

时间:2011-10-12 13:32:32

标签: pdf ocr

我有超过30,000个pdf文件。有些文件已经是OCR而有些则不是。有没有办法找出哪些文件已经过OCR,哪些pdf只是图像?

如果我通过OCR处理器运行每个文件,将会永远。

3 个答案:

答案 0 :(得分:3)

我会编写一个小脚本来从PDF文件中提取文本,看它是否为“空”。如果有文本,PDF已经被OCRed。您可以使用ghostscriptXPDF来提取文字。

编辑: 这应该让你开始:

foreach ($pdffile in get-childitem -filter *.pdf){
    $pdftext=invoke-expression ("\path\to\xpdf\pdftotext.exe '"+$pdffile.fullname+"' -");
    write-host $pdffile.fullname
    write-host $pdftext.length;
    write-host $pdftext;
    write-host "-------------------------------";
}

不幸的是,即使您的PDF pdftotext中只包含图像,也会提取一些文字,因此您需要做更多工作来检查是否需要OCR pdf。

答案 1 :(得分:0)

XPDF以不同的方式为我工作。但不确定这是正确的方法。

带图片的PDF文件也提供了文字内容。所以我使用 pdffonts.exe 来验证字体是否嵌入到文档中。在我的例子中,所有图像文件都显示“没有”#39;对于内含价值。

to be extracted

所有可搜索的PDF都给出了“是”'

> Config Error: No display font for 'Symbol' 
> Config Error: No display font for 'ZapfDingbats' 
> name                                 type              emb sub uni object ID
> ------------------------------------ ----------------- --- --- --- --------- 
> Helvetica                            Type 1            no  no  no       7  0

答案 2 :(得分:0)

我发现TotalCmd有一个可以处理此问题的插件: https://totalcmd.net/plugring/pdfOCR.html

  

pdfOCR是wdx插件,可发现其中有多少页PDF文件   当前目录需要字符识别(OCR),即多少   PDF文件中的页面布局中没有可搜索的文本。这是   在准备文档的PDF文件时最需要   或归档系统。通常在他们需要的PDF文件中   之前要从扫描版本转换为文本可搜索形式   它们包含在任何文档中,以便进行手动操作或   自动文本搜索。 Total Commander的pdfOCR插件实现了   图书馆员的需求,方法是呈现图像的页面数   仅不包含任何文本。显示扫描的页数   在“ needOCR”列中。通过将needOCR页数与   可以决定是否需要PDF文件的总页数   其他OCR处理。