Bottom line: if you need reports you should be thinking about phantomJS. There are other projects like wkhmltopdf but I think phantom is better and more flexible.
Phantom sites on top of QTWebKit (and more specifically QTWebFrame/Page) so the code is quite approachable if you want to look under the hood. I think the only downside is that QTWebKit lags a bit so a competing technology built on chromium would be even better. The other downside of course is that your rendering needs are significantly higher than generating text based email (if you are at significant volume).
I should also note: if you want to go this approach you might have luck embedding the generate report image in a dataURL so the user doesn't have to turn on images to see the data. However, I don't know if that works in all browsers or web mail clients.
Phantom sites on top of QTWebKit (and more specifically QTWebFrame/Page) so the code is quite approachable if you want to look under the hood. I think the only downside is that QTWebKit lags a bit so a competing technology built on chromium would be even better. The other downside of course is that your rendering needs are significantly higher than generating text based email (if you are at significant volume).