フォルダーに投入された画像ファイルからOCR機能で文字列を自動抽出する。
監視フォルダーに投入された画像(イメージ) ファイルからOCR(Tesseract-OCR)を利用してテキスト(文字列)を取り出します。ユーザー作成のバッチファイルからTesseract-OCRを呼び出します。
あらかじめ下記の手順でTesseract-OCRをインストールし動作を確認しておきます。
- 公式ダウンロードページにアクセスし、64ビット版のインストーラー(例:
tesseract-ocr-w64-setup-v5.x.x.exe
)をダウンロードします。 1 - ダウンロードした.exeファイルをダブルクリックして実行します。 1
- インストール画面で「English」を選択し、「Japanese script」と「Japanese vertical script」を選択します。 1
- インストールが完了したら、Tesseractを使用して日本語のOCRを実行できます。 1
参考サイト:
Tesseract OCR インストールと動作チェック
Tesseract OCR をWindowsにインストールする方法
Tesseract OCR 日本語・英語文字認識(ソースコードと実行結果)
下記のバッチスクリプトをメモ帳などにコピーし 例えば run-ocr.bat と名前を付けてフォルダーに保存します。ファイルの文字コードは ANSI を推奨します。
次に「クラウド対応自動印刷の設定」で以下のように設定します。
- 「クラウド対応自動印刷」→「設定」→「プリンター/処理」→「.Batchファイルを実行する」→「詳細」で保存したバッチファイル(run-ocr.bat) を選択します。 → 参考サイト
- PDFファイルの出力フォルダーは同上の「出力フォルダー:」で指定します。
REM @echo off
REM 引数チェック
if "%~1"=="" (
echo 入力ファイルを指定してください。
exit /b 1
)
if "%~2"=="" (
echo 出力フォルダーを指定してください。
exit /b 1
)
REM 入力ファイルと出力ファイル名の取得
set INPUT_FILE=%~1
set OUTPUT_DIR=%~2
set FILE_NAME=%~n1
set OUTPUT_FILE=%OUTPUT_DIR%\%FILE_NAME%
REM OCR実行(日本語指定)
"C:\Program Files\Tesseract-OCR\tesseract" "%INPUT_FILE%" "%OUTPUT_FILE%" -l jpn --psm 6
echo OCR完了:%OUTPUT_FILE%
pause
あとは監視フォルダーに画像ファイルを投入することで文字列が抽出され出力フォルダーに「画像ファイル名」.txt として保存されます。
(動作確認が終わったら REM @echo off のREM と 最終行の pause を削除し、「Batchファイル実行時の画面を表示する」のチェックをオフにします。)
注意)Tesseract-OCRの性能により:
手書き文字は認識されない可能性が高いです。
画像ファイルの解像度は300dpi以上が推奨されています。