前提・実現したいこと
herokuでpythonを用いたwebアプリを作ろうとしています。PDFを画像にするパッケージであるpdf2imageを利用するためにpopplerが必要です。こちらはビルドパックを使いました。(https://github.com/survantjames/heroku-buildpack-poppler.git)
発生している問題・エラーメッセージ
pdf2imageがエラーになって動きません。sshで確認してみたところ、パスは通っているのですがpoppler側で何らかのエラーが発生しているようです。「libpng12.so.0が見つからない」と言われているようなのですが調べてみてもわからずお手上げ状態です。
以下、herokuのssh上でpopplerのpdfinfoを実行した際のエラーです。
pdfinfo: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
ソースコード
Buildpacks
11. https://github.com/survantjames/heroku-buildpack-poppler.git 22. heroku/python
flaskを使っています。popplerにパスの通してあるローカルでは問題なく動きます。
python
1from flask import Flask, Response 2import pdf2image 3import io 4 5app = Flask(__name__) 6 7 8@app.route('/') 9def index(): 10 return 'Hello, World!' 11 12@app.route('/img/') 13def img(): 14 img = pdf2image.convert_from_path(f'{app.root_path}/static/pdf/miku.pdf')[0] 15 buffer = io.BytesIO() 16 img.save(buffer, 'PNG') 17 return Response(buffer.getvalue(), mimetype='image/png') 18 19 20if __name__ == '__main__': 21 app.run() 22
試したこと
こちらにlinuxでlibpng12をインストールすることで解決したとの情報があったので、libpng12が何なのかはよくわからないのですがとりあえずビルドパックを探してみたところ、https://github.com/freddix/libpng12.gitを見つけたので1番目に追加してみました。しかし特に改善はなく、加えてsshで確認してみてもなにが変化しているのかすらもよくわからないままでした。
あなたの回答
tips
プレビュー