我有超过30,000个pdf文件。有些文件已经是OCR,有些则不是。有没有办法找出哪些文件已经OCR,哪些pdf只有图像?
如果我通过OCR处理器运行每个文件,这将是永远不会发生的。
发布于 2011-10-12 21:42:26
我会写一个小脚本,从PDF文件中提取文本,看看它是否为“空”。如果有文本,PDF就已经是OCRed了。您可以使用ghostscript或XPDF来提取文本。
编辑:这应该可以让你开始:
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 "-------------------------------";
}不幸的是,即使你只有图像在你的pdftotext将提取一些文本,所以你将不得不做更多的工作,以检查您是否需要光学字符识别的pdf。
发布于 2017-01-06 11:17:02
XPDF以一种不同的方式为我工作。但不确定这是不是正确的方式。
我的带有图像的PDF也提供了文本内容。因此,我使用pdffonts.exe来验证文档中是否嵌入了字体,或者使用not.In来验证所有图像文件的嵌入值都显示为“no”。
> 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当所有可搜索的PDF都给出“是”时
> Config Error: No display font for 'Symbol'
> Config Error: No display font for 'ZapfDingbats'
> name type emb sub uni object ID
> ------------------------------------ ----------------- --- --- --- ---------
> ABCDEE+Calibri TrueType yes yes no 7 0
> ABCDEE+Calibri,Bold TrueType yes yes no 9 0发布于 2018-09-12 02:48:05
我发现TotalCmd有一个插件来处理这个问题:https://totalcmd.net/plugring/pdfOCR.html
pdfOCR是一个wdx插件,它可以发现当前目录中有多少页面需要字符识别,即在布局中有多少页面没有可搜索的文本。当一个人为自己的文档或归档系统准备PDF文件时,这是最需要的。通常,在处理PDF文件时,需要将其从扫描版本转换为文本可搜索形式,然后才能将其包含在任何文档中,以便进行手动或自动文本搜索。总指挥官的pdfOCR插件满足了图书管理员的需要,它提供了页面的数量,这些页面只是没有包含文本的图像。扫描的页数显示在“needOCR”列中。通过比较needOCR的页数和总页数,可以确定一个文件是否需要额外的needOCR处理。
https://stackoverflow.com/questions/7740883
复制相似问题