フォルダーに投入された画像ファイルからOCR機能で文字列を自動抽出する。

監視フォルダーに投入された画像(イメージ) ファイルからOCR(Tesseract-OCR)を利用してテキスト(文字列)を取り出します。ユーザー作成のバッチファイルからTesseract-OCRを呼び出します。

あらかじめ下記の手順でTesseract-OCRをインストールし動作を確認しておきます。

  1. 公式ダウンロードページにアクセスし、64ビット版のインストーラー(例: tesseract-ocr-w64-setup-v5.x.x.exe)をダウンロードします。 1
  2. ダウンロードした.exeファイルをダブルクリックして実行します。 1
  3. インストール画面で「English」を選択し、「Japanese script」と「Japanese vertical script」を選択します。 1
  4. インストールが完了したら、Tesseractを使用して日本語のOCRを実行できます。 1

    参考サイト:
    Tesseract OCR インストールと動作チェック
    Tesseract OCR をWindowsにインストールする方法
    Tesseract OCR 日本語・英語文字認識(ソースコードと実行結果)

下記のバッチスクリプトをメモ帳などにコピーし 例えば run-ocr.bat と名前を付けてフォルダーに保存します。ファイルの文字コードは ANSI を推奨します。

次に「クラウド対応自動印刷の設定」で以下のように設定します。

  1. 「クラウド対応自動印刷」→「設定」→「プリンター/処理」→「.Batchファイルを実行する」→「詳細」で保存したバッチファイル(run-ocr.bat) を選択します。 → 参考サイト
  2. 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以上が推奨されています。