如何在 Heroku 上使用 poppler buildpack
How to use poppler buildpack on Heroku
我想在 Heroku 上使用 python 包的 pdf2image,它需要 poppler,所以我必须添加 poppler buildpack。
我添加了 https://github.com/survantjames/heroku-buildpack-poppler.git with referance to 但我的应用程序显示错误并崩溃了。
所以我在 Heroku 上检查了 bash,添加了 poppler 的 bin direcroty 的路径环境变量但是 poppler utils 失败并且不起作用。
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 buildpack,但没有改善。
如何在 Heroku 上使用 poppler buildpack?
构建包:
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()
对我有用的解决方案:
- 删除设置中的 poppler buildback
- 在设置中添加 buildpack:https://github.com/ONode/heroku-buildpack-xpdf
- 在根项目文件夹中手动添加 .xpdfrc 文件
- 重新启动并部署您的测功机
(最初在这里找到解决方案:https://www.npmjs.com/package/pdf-util?activeTab=readme)
对我进行了一些编辑(Python 3):
将构建包添加到 Heroku:
heroku buildpacks:set heroku/python
heroku buildpacks:add --index 1 heroku-community/apt
在你的项目文件夹中创建一个名为Aptfile的文件,并在里面写上build-essential libpoppler-cpp-dev pkg-config python3-dev
。
我想在 Heroku 上使用 python 包的 pdf2image,它需要 poppler,所以我必须添加 poppler buildpack。
我添加了 https://github.com/survantjames/heroku-buildpack-poppler.git with referance to
所以我在 Heroku 上检查了 bash,添加了 poppler 的 bin direcroty 的路径环境变量但是 poppler utils 失败并且不起作用。
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 buildpack,但没有改善。 如何在 Heroku 上使用 poppler buildpack?
构建包:
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()
对我有用的解决方案:
- 删除设置中的 poppler buildback
- 在设置中添加 buildpack:https://github.com/ONode/heroku-buildpack-xpdf
- 在根项目文件夹中手动添加 .xpdfrc 文件
- 重新启动并部署您的测功机
(最初在这里找到解决方案:https://www.npmjs.com/package/pdf-util?activeTab=readme)
将构建包添加到 Heroku:
heroku buildpacks:set heroku/python
heroku buildpacks:add --index 1 heroku-community/apt
在你的项目文件夹中创建一个名为Aptfile的文件,并在里面写上
build-essential libpoppler-cpp-dev pkg-config python3-dev
。