隐藏文本如何存储在 OCR 增强的 PDF 文件中

How is hidden text stored in OCR-enhanced PDF files

// 编辑 26.03.2018 - 谁想继续我的工作可以看看我的源文件 https://github.com/n0l0cale/ocr-sampledata

我实际上是在寻找有关 PDF 文件的一些详细信息。对我来说最重要的是文件可以使用很长时间,如果可能的话,OCR 应该自动应用于新文件(这似乎不太可能使用 Adob​​e Acrobat...)。

为此,我一直在寻找不同的解决方案来对我的 PDF 文件进行 OCR。我发现了三个似乎在做他们应该做的事情的候选人……(或多或少)。但是所有三种变体都有其优点和缺点......但是似乎有不同的方法如何在 PDF 文件中存储数据......对于所有三种变体......让我解释一下:

但在所有这三种情况下,我都能够在文件中搜索单词并使用 "Remove hidden information" 查看文本并选择 "hidden text":

我真的很困惑....有谁知道这些程序是如何真正存储它们的隐藏文本信息的?

S.

P.S.: 对于那些想知道这个不祥的预检脚本是什么的人:https://theblog.adobe.com/hidden-gems-in-acrobat-dc-how-to-optimize-hidden-ocr-text/

Does anyone know how these programs are storing their hidden text information really?

您正确地发现 Abby Finereader 的方法不同于 Adob​​e Acrobat 和 Tesseract:

  • Abby 创建一个页面内容流,其中首先在页面上正常绘制文本,最后被扫描图像覆盖。
  • Acrobat 和 Tesseract 创建内容流,首先绘制图像,然后不可见地绘制文本(使用不绘制任何内容的文本渲染模式 3)。

后两个结果的区别在于所用字体的选择:

  • Acrobat 使用常规的标准 14 种字体,P​​DF 查看器有一个字体程序可以将它们呈现为普通字形。
  • Tesseract 使用字体 GlyphLessFont 它将字体程序嵌入到结果文件中。呈现此字体中的字形时,不会显示为我们正常的拉丁字形,而只是显示为空 space.

考虑到您观察到的 Abby 结果的视觉效果,Acrobat 或 Tesseract 使用的方法可能更可取。

人们是否更喜欢具有视觉可识别字形(如 Acrobat 使用)或不具有(如 Tesseract 使用)的字体,主要只是一个品味问题。无论如何,它们仅在不可见渲染模式下使用。