Heroku 上的 pdftk 安装

Don*_*lie 0 ruby-on-rails heroku pdftk

如何在heroku堆栈上安装pdftk?

由于其他依赖关系,我无法将堆栈降级到 Cedar,我需要在heroku-16.

Don*_*lie 5

答案就在这里,如果它消失,我只想将其存档以供后代使用。特别感谢德里克·巴伯!


第一步是下载可在 heroku 上运行的 pdftk 二进制文件并将其添加到您的 Rails 应用程序中:

mkdir -p [my_project]/vendor/pdftk/lib [my_project]vendor/pdftk/bin
cd /tmp
git clone https://github.com/millie/pdftk-source.git
cd pdftk-source
tar xzvf pdftk.tar.gz
mv bin/pdftk [my_project]/vendor/pdftk/bin/
mv lib/libgcj.so.12 [my_project]/vendor/pdftk/lib/
cd [my_project]
git add -f vendor/pdftk/
git commit -m "Add pdftk dependencies"
Run Code Online (Sandbox Code Playgroud)

完成后,您可以将更改推送到 heroku,然后设置必要的环境变量,以便 heroku 知道在哪里可以找到这个新的二进制文件:

git push heroku master
heroku config:set LD_LIBRARY_PATH=/app/.heroku/vendor/lib:/app/vendor/pdftk/lib
heroku config:set PATH=/app/.heroku/python/bin:/usr/local/bin:/usr/bin:/bin:/app/vendor/pdftk/bin
Run Code Online (Sandbox Code Playgroud)

最后,您可以尝试一下,并通过运行 bash 并进行尝试来确认 pdftk 现在正在您的 heroku 实例上运行:

heroku run bash
$ pdftk
Run Code Online (Sandbox Code Playgroud)

如果 pdftk 正在工作,那么您应该会看到来自 pdftk 的一堆帮助输出,这意味着您现在可以开始工作了。您部署的应用程序应该能够处理 pdf 并生成精美填写的 pdf 表单。