# ターミナルでビルドを追加
heroku buildpacks:add https://github.com/matteotiziano/heroku-buildpack-tesseract
herokuで実行したところ下記のエラー発生
pyocr.error.TesseractError: (127, 'tesseract: error while loading shared libraries: libpng12.so.0: cannot open shared object file
調べたところtesseractを4系にあげれば解決するらしく、buildパックを4系で作成しようか悩みましたが、とりあえずaptで入れていく方法にすることにしました
※ どの記事か忘れてしまいましたが、4系に変更すべし、的なstackoverflowの記事がありました。消してしまったので、気になる方は調べてください。
↓3系なので使えない
https://github.com/matteotiziano/heroku-buildpack-tesseract
3系は使えずbuild pack作るのも大変そうなので素直にaptで行きます
下記をterminalで実行
heroku buildpacks:add --index 1 heroku-community/apt
その後、プロジェクトの直下にAptfile
を作成し、中身をこのように記載します
tesseract-ocr
tesseract-ocr-eng
tesseract-ocr-jpn
修正したファイルをpushしたらterminalで下記を実行
$ heroku run bash
$ find -iname tessdata
./.apt/usr/share/tesseract-ocr/4.00/tessdata
# 中身にjpn入ってるか気になったのでみてみると。。
$ cd ./.apt/usr/share/tesseract-ocr/4.00/tessdata/
configs/ jpn.traineddata pdf.ttf
eng.traineddata osd.traineddata tessconfigs/
入ってました!!!
最後はpath入れて
heroku config:set TESSDATA_PREFIX=/app/.apt/usr/share/tesseract-ocr/4.00/tessdata
実行しましたところ問題なく稼働しました!
参考記事
【Heroku】How to install service and setup environment variable: Use Tesseract OCR as example
Installing and using Tesseract 4 on Ubuntu 18.04
Configurin Tesseract OCR in Heroku-16
matteotiziano/heroku-buildpack-tesseract
Using Tesseract on Heroku with Django
コメントを残す