如何在 Heroku 上使用 poppler buildpack



我想在Heroku上使用python包pdf2image,它需要poppler,所以我必须添加poppler buildpack。

我添加了 https://github.com/survantjames/heroku-buildpack-poppler.git 参考将poppler安装到Heroku服务器django上,但我的应用程序显示错误并崩溃。

所以我在 Heroku 上检查了 bash,poppler 的 bin direcroty 的路径添加了环境变量,但 poppler 实用程序失败并且不起作用。

pdfinfo (poppler utils之一(的错误消息是:

pdfinfo: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory

作为回应,我从 https://elements.heroku.com/buildpacks/freddix/libpng12 中添加了libpng12构建包,但它没有改善。 如何在 Heroku 上使用 poppler 构建包?

构建包:

1. https://github.com/survantjames/heroku-buildpack-poppler.git
2. heroku/python

应用程序的代码(python3(:

from flask import Flask, Response
import pdf2image
import io
app = Flask(__name__)

@app.route('/')
def index():
return 'Hello, World!'
@app.route('/img/')
def img():
img = pdf2image.convert_from_path(f'{app.root_path}/static/pdf/miku.pdf')[0]
buffer = io.BytesIO()
img.save(buffer, 'PNG')
return Response(buffer.getvalue(), mimetype='image/png')

if __name__ == '__main__':
app.run()

该解决方案对我进行了一些编辑(Python 3(:

  1. 将构建包添加到 Heroku:

    heroku buildpacks:set heroku/python

    heroku buildpacks:add --index 1 heroku-community/apt

  2. 在项目文件夹中制作一个名为 Aptfile 的文件,并在其中写入build-essential libpoppler-cpp-dev pkg-config python3-dev

对我有用的解决方案:

  1. 删除设置上的波普勒回建
  2. 在以下设置中添加构建包: https://github.com/ONode/heroku-buildpack-xpdf
  3. 在根项目文件夹中手动添加 .xpdfrc 文件
  4. 重新启动并部署您的测功机

(最初在这里找到的解决方案:https://www.npmjs.com/package/pdf-util?activeTab=readme(

相关内容

  • 没有找到相关文章

最新更新