I've got a branch (not ready to pull) named wip-pdf which adds pdf generation. https://github.com/stepheneb/shutterbug/tree/wip-pdf
I'm wondering how best to support generation of multiple formats.
...
it would be better to make one instance, lay out the page and then execute: page.render(output); sequentially for all desired output formats.
...
A simple implementation would just save all three formats and add the routes/implementation for jpg the same as png and pdf.
We could use some kind of configuration system for specifying the default operation.