如何将pdftk添加到Heroku Cedar应用程序?

我需要在我的Heroku Cedar Rails应用程序中将多个PDF文件合并为一个,并且已经决定使用pdftk来执行此操作。

我迷失了如何做到这一点。 我认为最好的方法是创建一个自定义buildpack,其中包含pdftk的已编译二进制文件,但我无法弄清楚如何让Vulcan执行此操作。

没有Vulcan,有没有办法做到这一点? 是否有预先存在的ruby buildpack包含我可以使用的pdftk?

如果它对这里的任何人有帮助,我会按照确切的步骤来安装millie的预编译pdftk并使用我现有的Cedar应用程序。 你的旅费可能会改变:

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" 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 heroku run bash $ pdftk 

使用andedebauchery的优秀答案作为指导,我调整了这些步骤,以便在2015年9月从我的Windows机器上安装我的Heroku Node.js应用程序上的pdftk。他的步骤和我的步骤之间的主要区别是:

  1. 我必须将github存储库的URL从https://github.com/millie/pdftk-source.git更新到https://github.com/SirRawlins/pdftk-source

  2. 我不得不下载BSDtar以便从pdftk.tar.gz中提取可执行文件(我首先尝试了GnuWin32 tar.exe但它没有工作,因为它不处理.tar.gz文件)

  3. 我必须使用git update-index --add --chmod=+x pdftk在文件到达远程Linux环境后授予对该文件的执行权限

希望这将有助于其他Windows开发人员的未来!

这就是我在heroku的nodejs app中设置pdftk的方法
1-创建heroku应用程序
heroku创造
2-为pdftk设置buildpack
BUILDPACK_URL = https://github.com/ddollar/heroku-buildpack-apt
3-为nodejs设置buildpack
heroku buildpacks:add –index 1 heroku / nodejs
4 – 将libgcj.so。*添加到搜索路径:
heroku config:设置LD_LIBRARY_PATH = / app / bin
5-打开至少一个dyno
heroku ps:scale web = 1
6-在项目的根目录中创建一个Procfile并定义以下内容:
web:node server.js
5-推送heroku中的更改
git push heroku master