【问题标题】:How to identify PDF files that need OCR?如何识别需要 OCR 的 PDF 文件?
【发布时间】:2011-12-06 03:41:51
【问题描述】:

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

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

【问题讨论】:

    标签: pdf ocr


    【解决方案1】:

    我会编写一个小脚本来从 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 也会提取一些文本,因此您必须做更多的工作来检查您是否需要对 pdf 进行 OCR。

    【讨论】:

    • 感谢您的回答。至少你给了我一些思考。可以用 ghostscript 或 xpdf 构建 powershell 脚本吗?你有什么方便我可以试试的吗?再次感谢。
    • 在我的回答中添加了一些脚本
    • @Fuji-H2O 我正在寻找相同的解决方案。我需要检查 pdf 是否至少有 1 张图片。我知道这是一个非常古老的问题,但如果你记得,请帮助我解决问题。
    • 如果pdf既有文字又有图片怎么办?
    【解决方案2】:

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

    我的带有图像的 PDF 也提供了文本内容。所以我使用 pdffonts.exe 来验证字体是否嵌入到文档中。在我的情况下,所有图像文件都显示嵌入值“否”。

    > 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
    

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        您可以使用桌面搜索工具“dtSearch”扫描文件夹或整个驱动器。在扫描结束时,它将显示所有“仅图像”PDF 的列表。此外,它还会显示“加密”PDF 列表(如果有)。

        【讨论】:

          猜你喜欢
          • 2021-07-14
          • 2023-03-20
          • 2018-05-07
          • 2015-09-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多