あなたの質問は少しわかりにくいので、何が最も役立つのかよくわかりません。ただし、OCR からテキストを「非表示」にする 2 つの方法について説明します。どちらも検出可能だと思いますが、一方は他方よりもはるかに簡単です。
隠しテキスト
隠しテキストは、何かの後ろに配置される通常のテキストまたは目に見えないテキストです。つまり、オブジェクトの重なり順を使用して、オブジェクトの一部を非表示にします。このタイプのケースを検出できる唯一の方法は、ページ上のすべてのテキスト オブジェクトがどこにあるかを把握し (それらの境界ボックスを計算するのは簡単ではありませんが、確かに可能です)、ページ上の画像が重なっているかどうかを調べることです。そのテキストとその前にあります。いくつかの追加コメント:
- 理論的には、それを隠している画像以外のものである可能性がありますが、OCR の場合、常に画像であると思います。
- 画像が重なっている場合もありますが、何らかの形で透明になっている場合もあります。その場合、下にあるテキストが透けて見えることがあります。一般的なOCRエンジンの場合、おそらくそうではありません。
不可視テキスト
PDF は不可視テキストをサポートしています。より正確には、PDF はさまざまなテキスト レンダリング モードをサポートしています。これらのレンダリング モードによって、文字が塗りつぶされるか、アウトライン化されるか、塗りつぶしとアウトライン化されるか、または非表示になるかが決まります (他の可能性はまだあります)。投稿した PDF ファイルには、次のフラグメントがあります。
BT
3 Tr
0.00 Tc
/F3 8.5 Tf
1 0 0 1 42.48 762.96 Tm
(Chicken ) Tj
そこは目に見えないチキンです!命令 "3 Tr" は、テキスト レンダリング モードを "3" に設定します。これは、PDF 仕様で非常にエレガントに記述されているように、"見えない" または "ストロークも塗りつぶされていない" ことにもなります。
これら 2 つの手法は、OCR エンジンで同じ意味で使用できることに注意してください。スキャンした画像の上に非表示のテキストを配置することは、ほとんどの PDF ビューアでテキストを選択できることを意味するため、実際には良い方法です。ある時点で見た一部の PDF ビューアでは、テキストが画像の「後ろ」にある場合、テキストを選択できませんでした。