PDF出力
OCR
GoogleCloudVisionAPI

Google Cloud VisionのOCR結果を用いた検索可能pdfの作成

More than 1 year has passed since last update.

Google Cloud VisionのOCR結果(jsonファイル)にはテキストの読取結果とともに画像内での文字の座標が含まれている。

gcv2hocrは、このjsonファイルをhocr形式に変換する。

https://github.com/dinosauria123/gcv2hocr

hocrファイルと元の画像ファイルをhocr-pdf(hocr toolsに含まれる)で処理すると検索可能なpdfが得られる。

https://github.com/tmbdev/hocr-tools

この方法で戦前・戦中期の日本のカメラ広告を電子化し、下記で公開している。

http://japanese-ww2-camera-ad.tk

縦書き、横書き、旧かな、旧漢字が混在した広告もある程度読み取ることができる。市販のOCRソフトウエアと比較しても読取精度は高いと感じる。

活字ばかりでなく、広告中のロゴタイプも読み取れることがある。

右行頭の横書きでは、語順が逆転する。

複数のスキャン画像から一つの検索可能なpdfを作成するためのシェルスクリプトの例を下記に示す。

a=1

while [ $a -le 32 ]
do
if [ $a -le 9 ] ; then
number="00"$a
fi

if [ $a -ge 10 -a $a -le 99 ] ; then
number="0"$a
fi

if [ $a -ge 100 ] ; then
number=$a
fi

echo "Google OCR page$number.jpg"
sh ./gcvocr.sh page$number.jpg [Your API Key]

echo "Convert page$number.hocr"
./gcv2hocr page$number.jpg.json page$number.hocr

a=`expr $a + 1`
done

echo "Generating out.pdf"
python hocr-pdf ./ > out0.pdf

echo "Reducing pdf size"
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -sOutputFile=out.pdf out0.pdf

gcvocr.shは画像をGoogle Cloud Visionにアップロードし、jsonファイルを得るためのシェルスクリプト。

pdf作成後にghostscriptを用いてファイルサイズを縮小している。