PDFにテキスト埋め込み(Tesseract OCR)

経緯

テキストが選択できるPDFは、透明文字でテキストが埋め込まれています。
勉強用にスキャンしたPDFですが、そのままだとテキスト情報のないただの画像データのため、
ハイライトやコピペができません。
Windows、完全無料、CUIでPDFにテキストを埋め込んでいきます。

①Tesseract OCRのインストール

Googleがオープンソースで開発している「Tesseract」をインストールします。
精度は凄く良いという訳ではありませんが、ハイライト引ければいいので、
インストール方法は下記を参考にさせて頂きました。

②サンプルコード

以下のコードでC:\test.pngからテキストを埋め込んだC:\test.pdfを作成することが出来ます。

BAT (Batchfile)
cd C:\Program Files\Tesseract-OCR
tesseract.exe "C:\test.png" "C:\test" -l jpn+eng pdf

自分が実用するときはドラッグしたフォルダに対して処理するようにしました。

BAT (Batchfile)
@echo off
REM ドラッグしたフォルダをカレントディレクトリに
set TARGET_DIR_FOR_ALL_OPEN=%~1
cd %TARGET_DIR_FOR_ALL_OPEN%

REM pngファイル繰り返し
for %%a in (*.png) do (
 if not %%a == %~n0%~x0 (
  tesseract %%a %%~na -l jpn+eng --psm 3 pdf 
 )
)

コマンドについては下記を参考にさせて頂きました。

備考(OCRの精度について)

下記でオープンソースのOCRの精度についてまとめて頂いています。