如何使用 pdfbox 2.0.0 检测扫描文档中的 OCR?

How to detect OCR in a scanned Document with pdfbox 2.0.0?

问题:我有一个大文件夹,里面有很多子文件夹,里面有很多 pdf。其中一些已经有了 OCR。他们中的一些人没有。所以我想写一个 Java 程序来过滤掉非 OCR PDF 并将它们复制到一个常用文件夹。

我测试了大约 20 个文档,它们的共同点是,如果你用编辑器打开它们,你可以找到单词 'font' 和 OCR 的,而你无法在非 OCR 中找到它那些。我现在的问题是:如何使用 PDFbox 2.0.0 实施此检查?我发现的所有解决方案似乎都不适用于旧版本。而且我无法在文档中找到解决方案。 (这显然是我的错)

提前致谢。

查看字体是否位于页面顶层的方法如下:

    PDDocument doc = PDDocument.load(new File(...));
    PDPage page = doc.getPage(0); // 0 based
    PDResources resources = page.getResources();
    for (COSName fontName : resources.getFontNames())
    {
        System.out.println(fontName.getName());
    }
    doc.close();

回复:mkl 建议,这里是提取文本的方法:

    PDFTextStripper stripper = new PDFTextStripper();
    stripper.setStartPage(1); // 1 based
    stripper.setEndPage(1);
    String extractedText = stripper.getText(doc);
    System.out.println(extractedText);