Как добавить pdftk в приложение Herocu Cedar?

Мне нужно объединить несколько файлов PDF в один из моих приложений Heroku Cedar Rails, и я решил использовать pdftk для этого.

Я потерялся относительно того, как это сделать. Я думаю, что лучшим подходом было бы создание пользовательского buildpack, который включает скомпилированный двоичный файл для pdftk, но я не могу понять, как заставить Vulcan это сделать.

Есть ли способ сделать это без Vulcan? Есть ли ранее существовавший ruby ​​buildpack, который включает в себя pdftk, который я могу использовать?

Ответ 1

У меня сейчас это работает, и доступна общедоступная версия настраиваемого пакета Heroku Ruby с pdftk: https://github.com/millie/heroku-buildpack-ruby-pdftk

Обязательно ознакомьтесь с инструкциями в README.

Предварительно скомпилированная версия pdftk для кедра Heroku Cedar доступна здесь: https://github.com/millie/pdftk-source

Надеюсь, это избавит кого-то от некоторых неприятностей!

Ответ 2

В случае, если кому-то это полезно, выполните следующие шаги exact, которые я выполнил, чтобы получить millie precompiled 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

Ответ 3

Используя andedebauchery отличный ответ в качестве руководства, я адаптировал эти шаги, чтобы установить pdftk в мое приложение Heroku Node.js с моей Windows-машины в сентябре 2015 года Основные отличия между его шагами и моими:

  • Мне пришлось обновить URL-адрес репозитория github от https://github.com/millie/pdftk-source.git до https://github.com/SirRawlins/pdftk-source

  • Мне пришлось загрузить BSDtar, чтобы извлечь исполняемый файл из pdftk.tar.gz(я пробовал GnuWin32 tar. exe, и это не сработало, потому что оно не обрабатывает файлы .tar.gz)

  • Мне пришлось использовать git update-index --add --chmod=+x pdftk, чтобы предоставить разрешение на выполнение в файл после его загрузки в удаленную среду Linux.

Надеюсь, это поможет другим разработчикам Windows в будущем!

Ответ 4

Вот как я устанавливаю pdftk в приложении nodejs в heroku
1- Создание приложения heroku
   heroku создать
2- Установите buildpack для pdftk
 BUILDPACK_URL = https://github.com/ddollar/heroku-buildpack-apt
3- Установить buildpack для nodejs
  heroku buildpacks: add --index 1 heroku/nodejs
4 - Добавьте libgcj.so. * В ваш путь поиска:
 heroku config: установить LD_LIBRARY_PATH =/app/bin
5- Включите хотя бы один динамик
  heroku ps: scale web = 1
6- Создайте файл Procfile в корне вашего проекта и определите следующее:
  web: node server.js
5- Нажмите изменения в heroku
  git push heroku master