やったこと
もう大手各社のクラウドOCR APIの精度は十分実用的なレベルなので、単純にウィンドウの内容を投げればよい話なんだけれども、ウィンドウの内容全部をOCRしたかったり、あるいは矩形で選択したかったりするかもしれないので、スクリーンをキャプチャして、それら画像ファイルを生成するところまでは他のツールに任せることにして、「あるディレクトリ以下に画像ファイルが生成/移動されたら、それを自動でOCRする」作業をツールを書いて自動化しました。
成果物
インストール方法
zipファイルの中身を適当なところに解凍するだけです。
使い方
最小のコマンドは
cocr -d "PATH_TO_TARGET_DIRECTORY" -k "YOUR_GOOGLE_API_KEY"
-d
で指定されたディレクトリを監視して、その中に画像ファイルが放り込まれたとき、自動で対応するjson(APIを叩いたjsonレスポンスそのまま)、html(OCR結果を表示するHTMLファイル)を生成します。
-c
オプションで結果をクリップボードに貼り付け。-s
でhtmlファイルをブラウザで開く。-n
で通知。他にもディレクトリ内の画像ファイルをまとめて処理する-b
オプションなどがあります。
なお、使用しているGoogle Cloud Vision APIは月一定回数までは無料(2018/07 時点で最初の1000回は無料)ですが、-k
オプションでのGoogle APIキーの指定は必須になります。APIキーを発行するときに、後で泣かないよう、適切な課金上限額を設定しておきましょう。
Authenticating to the Cloud Vision API | Cloud Vision API Documentation | Google Cloud
API キーの使用 | ドキュメント | Google Cloud
イメージ
対象画像
クリップボード結果
HTMLを開いたところ
スクリーンキャプチャツールとの組み合わせ
SnapCrab www.fenrir-inc.com
GreenShot gigazine.net
などのツールの出力先を、cOCRの監視するディレクトリ以下に設定するだけです。あとはお好みに合わせて、スクリーンキャプチャツール側のキーバインドを設定すれば、「1ボタンで自動OCR、結果をクリップボードに保存」みたいなシステムが完成します。
PDFへの変換
cOCRは、Google Cloud Vision APIからのレスポンスをまるっとまるごとjsonファイルとして保存してるので、以下のツールとの組み合わせで、画像ファイルをOCRされたPDFに変換することも可能です。