heroku-pdftk-buildpack

by fxtentacle

GitHub Readme.md

Fork me!

Maintainers Wanted

This repo is easily the one that caused me the most grief in 2020/2021.

I'm not quite sure where people get the idea, but this is NOT A HEROKU PRODUCT. This is one person sharing some scripts in case it's helpful, but with no warranty, no support, and not even a well-defined license.

And, actually, I kind of dislike Heroku's recent behaviour towards small companies (like mine) since they got purchased by Salesforce. For example, they limited the free dyno hours that I use to compile this. And while most people who message me about it are civil, I sadly have to say this:

Please do not send me insults via email or social media.

If your Heroku app doesn't work, that's clearly between you and Heroku. If this component is not working for your Heroku deployment, that's very sad and you should email the Heroku support about it. And yes, they'll ignore you, like they ignore everyone, including me. Because I'm not a Heroku employee. I'm just a random stranger on the internet.

And should you really be trusting random unsigned and unverifiable binaries from a stranger on the internet for your production deployment?

I'd say your best option is to fork this repo and compile your own binaries. I'm sure the Heroku support will be happy to assist you with that.

What is it

Custom buildpack that will install pdftk into /app/bin on Heroku. Supports cedar-14, heroku-16, heroku-18, heroku-20.

Heroku-18

Since GCJ was dropped, using: https://launchpad.net/ubuntu/bionic/amd64/gcj-6-jdk/6.4.0-14ubuntu1

which needs: https://launchpad.net/ubuntu/bionic/amd64/gcj-6/6.4.0-14ubuntu1 https://launchpad.net/ubuntu/bionic/amd64/gcj-6-jre/6.4.0-14ubuntu1 https://launchpad.net/ubuntu/bionic/amd64/gcj-6-jre-headless/6.4.0-14ubuntu1 https://launchpad.net/ubuntu/bionic/amd64/gcj-6-jre-lib/6.4.0-14ubuntu1

https://launchpad.net/ubuntu/bionic/amd64/libgcj-bc/6.4.0-3ubuntu1 https://launchpad.net/ubuntu/bionic/amd64/libgcj17/6.4.0-14ubuntu1 https://launchpad.net/ubuntu/bionic/amd64/libgcj17-dev/6.4.0-14ubuntu1 https://launchpad.net/ubuntu/bionic/amd64/libgcj17-awt/6.4.0-14ubuntu1 https://launchpad.net/ubuntu/bionic/amd64/libgcj-common/1:6.4-3ubuntu1

https://launchpad.net/ubuntu/bionic/amd64/ecj-gcj/3.11.1-2 https://launchpad.net/ubuntu/bionic/amd64/ecj1/3.11.1-2 https://launchpad.net/ubuntu/bionic/amd64/libecj-java/3.16.0-1~18.04 https://launchpad.net/ubuntu/bionic/amd64/libecj-java-gcj/3.11.1-2

How to use

  1. Add this buildpack to your app.
  2. Add the libgcj.so.* to your search path: heroku config:set LD_LIBRARY_PATH=/app/bin
  3. Use /app/bin/pdftk. BTW, the default PATH includes /app/bin, so this might happen automatically.

How to upgrade PDFTK

build_me.sh