今日、私は私たちのサプライヤーからPDFを受信し、それは署名などでいくつかの印刷やスキャンしたページが含まれていました。私はAcrobat Reader DCでそれを開きました。しかし、私の驚きに明らかにスキャンされた画像からテキストを選択し、テキストとしてコピーすることができました。スクリーンショットをご覧ください
コピーされたテキストに間違いが含まれているので、その背後には明らかにいくつかのOCRがあります。しかし、これはどのようにして可能なのでしょうか?私はこれを見たことがありませんが、これはどのようにして作成することができますか?
33 Vojtěch Dohnal 2018-02-09
これは(ここでの他のいくつかの回答に反して)ほとんどの場合、Acrobat とはまったく関係ありません
ほとんどの(すべて?)プロのドキュメントスキャナとほとんどのセミプロのものは、あなたが “PDFとして保存 “を選択し、設定で “検索可能 “チェックボックスをチェックしているときに自動的にOCRを実行します。安価な “消費者グレード “モデルは、接続されたPC上でOCRを行いますが、典型的なネットワークスキャナは内部的にそれを行います
検索可能」という言葉は、スキャナがOCRを実行し、スキャンしたビットマップを含むページを生成し、OCRからの見えない文字でそれらを重ね合わせ、それぞれがビットマップ上のそれぞれの文字の上に配置されることを意味しています
そうすれば、検索はもちろん、魔法のように「ビットマップ」を選択、コピー、ペーストすることもできます。しかし、それは全く魔法ではありません。実際には、見えないテキストをコピーしているだけです
スキャナはまた、多くの小さなタイルを再利用して大きな画像を合成するなど、いくつかの追加の魔法をかけることができるかもしれません。この結果、実際に可能になるよりもはるかに小さな文書サイズになりますが、また、Xerox alters your bills storyのような面白い驚きにつながるかもしれません(彼らはあなたに起こった場合はそれほど面白いことではありません!)、皮肉なことに、OCRが行われていない場合でも、ファームウェアに応じて、です
53 Damon 2018-02-09
しかし、どうしてこんなことが可能なのでしょうか?
基本的に、プログラムは入力ファイルにOCRを実行し、画像の上にテキストの見えないレイヤーを配置します。また、画像の下にテキストの可視レイヤーを配置しても同じ効果が得られます
何かを選択すると、テキストレイヤーが選択されるので、画像は関係ありません
これはどうやって作るのでしょうか?
いくつかの方法があります。Acrobatがすでに提案されていることを考えると、私はいくつかの自由なオプションを追加します(そして幸運にも、あなたはそれらを使用するためにWindowsを持っていることを余儀なくされていません)
PDF-XChange Viewer
これは、Tracker Software社のWindowsネイティブプログラムです。フリーウェア版は、32ビット版を32ビットの接頭辞で使えばWineでも問題なく動作しますので、Windows、macOS、Linuxでも使えます。最後の2つのケースでは、それぞれPlayOnMacまたはPlayOnLinuxが必要です
ここでは、Ask Ubuntuに残したこの回答からの写真です
OCRmyPDF
これは Pythonで書かれたマルチプラットフォームプログラムで、Ghostscript, Tesseract, Unpaperをベースにしています。ドキュメントより
OCRmyPDFでできること
OCRmyPDFは、PDFの各ページを分析して、コンテンツを失うことなく、そのページ上のすべての情報をキャプチャするために必要な色空間と解像度(DPI)を決定します。ページをラスタライズするためにGhostscriptを使用し、ラスタライズされた画像上でOCRを実行してOCR「レイヤー」を作成します。その後、レイヤーは元のPDFにグラフトバックされます
DebianやUbuntu誘導体に簡単にインストールできます
apt-get install ocrmypdf
もしくはmacOSで
brew tap jbarlow83/ocrmypdf
brew install ocrmypdf
Windowsの場合はDockerイメージを使う必要があります。詳細は公式ドキュメントを参照してください
使い方は非常にシンプルで、より良い結果を得るためにオプションの-d
(descew)と-c
(clean)パラメータを使用することをお勧めします。これは、OCR処理を実行する前に、すべてのページを真っ直ぐにし、小さな点や不完全な点をきれいにします
-l
で言語を提供することができる(はず)
ここでは、イタリア語で書かれたthis skewed documentから取られた例を紹介します
私が使ったコマンドは
ocrmypdf -l ita -d -c input.pdf output.pdf
Online tools
同じことをするいくつかのオンラインツールがあります。注目すべきは、PDF24がフリーのウェブベース版OCRmyPDFをホストしており、制限なく使用することができます
See also:
11 Andrea Lazzarotto 2018-02-10
これは、アクロバットOCR機能が原因と考えられます
Acrobatは、数十の言語で任意のPDFまたは画像ファイル内のテキストを認識することができます。あなたがしなければならないのは、OCRにしたいスキャンした文書または画像を開いて、ツールバーの右上にある青いツールボタンをクリックします。そのサイドバーでは、テキストを認識タブを選択し、[このファイルで]ボタンをクリックします
…
テキストが認識されると、すべての通常のマークアップツールを使用してPDFをマークアップすることができます – あなたは、ハイライト、テキストのクロスアウトなどを行うことができます。それは多くの場合、テキスト認識自体よりも精度が低いですが、あなたも、検出された書式設定でテキストをコピーすることができます
4 Leo Chapiro 2018-02-09
スキャンしたPDFファイルのテキストを認識します
紙の文書をPDFにスキャンすると、実際にはそれらの文書の写真を撮っているだけです。それは写真やその他の印刷された画像のために素晴らしいですが、あなたが特定の単語やフレーズを見つける必要がある200ページの文書を持っている場合はどうでしょうか?そのスキャンしたファイル内のテキストを認識するためにAcrobatを使用して、テキストコンテンツを検索可能で使用可能にします
- スキャンした文書を Acrobat で開いた状態で、[ツール] ペインを開き、[テキスト認識] パネルを展開します。ツールペインに「テキスト認識」が表示されていない場合は、右上隅のメニューを選択して追加できます(下の画像 – 小さな赤い矢印がどこを指しているかわかりますか? そこをクリックしてください)
- このファイルで」をクリックして、開いている文書をスキャンします。デフォルトの設定を受け入れて、「Recognize Text」ボックスがポップアップしたら「Okay」をクリックするだけでも構いません。Acrobat は画像を使用可能なテキストに変換します。それは素晴らしいことではありませんか?
3 Máté Juhász 2018-02-09