The coolest thing? If you can render it in HTML, you can render it in your report!

This means that now you can almost directly copy/paste from your application, you can even use AngularJS/React to generate the content… The possibilities are endless.

Caveats

As of versions <= 2.1 PhantomJS renders differenly on Windows and Linux. I believe this is caused by different DPI settings.

After hours of debugging and trying to figure out ways to fix it, I decided to use a CSS transform to adjust for the difference, you can find it commented in the HTML file. The magic number is 0.76, if you find a better solution please let me know!