Slightly related, I was packaging up a webapp in docker, and one thing the application did was form-fill PDFs.  I had been using pdftk to do this, but it turns out pdftk is written in gcj, and gcj pulls in a <i>lot</i> for its runtime libraries.  I wrote a small program using the mupdf libraries and cut the size of my docker image by over 400MB.