After running into some issues last week with our current PDF generation system we decided it was time to take a look at implementing something a little more robust.
Jobber (Octopus) generates PDF versions of key documents such as Quotes, Jobs and Invoices for users to either download, or have automatically e-mailed to their customers. We’ll soon be adding PDF generation to other areas of Jobber (Octopus) as well, such as Job schedules, among other things.
How We Do It
For the technical nerds in the crowd we had previously been using the excellent PDFKit library for Ruby on Rails, which utilizes wkhtmltopdf in the background. Wkhtmltopdf is basically the WebKit (Safari) rendering engine, and generates a PDF output file provided some HTML and CSS as input. Really quite handy. Until it doesn’t work. We’ve completely ripped out that old system and replaced it with the even more excellent Prawn PDF authoring library for Ruby.
The new Prawn library is more stable and gives us much more control over our printed document layouts. For the first release of this new PDF system we’ve more or less ported our existing Quote, Job and Invoice layout.
Here’s an example of a new PDF:
Because our new system gives us so much more flexibility and control in authoring PDF documents, we’re planning to offer our users a choice of several template options for PDF documents as well as the ability to provide some styling details. Keep an eye out on this blog for the announcement sometime over the next little while.
In the meantime we’re going to continue making minor tweaks to the new PDF documents to get them looking their best. If you have any suggestions on how we can make our Quote, Job and Invoice PDF’s better, let us know at email@example.com.
The Jobber Team