Seems a nice idea in theory, but in practice I ended up mucking around it for awhile before I even got any decent output that doesn't result in timeouts from workers.
I understand the problems lie essentially deeper down the tree of what this module uses under the hood, but indirectly, the module inherits the issues along with the code:
1) A couple of simple pages that I tried to render as PDF resulted in workers dying due to time outs. A 3-screen page takes several minutes to render even after I increase heartbeat timeouts—definitely not something I'd have available for use in production.
2) I found the above is largely rectified by using wkhtmltopdf version 0.9.9 instead of the current, but the plugin doesn't let you specify a different path to the executable
3) Using Bootstrap (and anything similar) results in the output rendered as if it were displayed on the "extra small" screen, even if you set giant page sizes.
3) Plugin generates a ton of 'uninitialized value' warnings
4) There are no options to allow PDF generation on only a few routes instead of ALL of them.
5) The docs mention you can pass options to wkhtmltopdf, but it's not too clear how to do it, and even when I managed to pass some, I got errors from wkhtmltopdf telling me the option I passed is in the wrong place.
In summation, I'd like to quote the current docs: "Then go to yourapp:3000/any/route, take a good look, then go to yourapp:3000/any/route.pdf. Cool, huh?"... yes, pretty cool, but offers little practicle value.
1 hidden unhelpful review