We have a SPA (Single Page Application) SaaS product (https://www.webbsc.at/home/) which displays user's financial data and analysis. Obviously it would be great if the user could print the data to share the information easier (old-school sharing).
Now we made it our priority to improve the default layout but hit a wall. Most of the things we tried made the printed documents actually worse rather than better.
Afterwards I've checked how some framework / library websites look when printed:
- angularjs.org and angular.io look ok (we're using AngularJS 1.4)
- Bootstrap 3 and Bootstrap 4 look great (we're using Bootstrap 3)
- We also use masonry, but http://masonry.desandro.com/ looks terrible
I've also checked https://material.angularjs.org/latest/ and the templates referenced in http://www.getmdl.io/templates/index.html. Both looked terrible and were incomplete.
I was wondering initially, maybe I should replace masonry with something, which is easier to be printed (masonry defines the location of elements absolutely), but after seeing Material Design and MDL I'm wondering if we shouldn't take a different approach all together.
I know that my banking applications have a "pdf"-button, with which I can download the current page as a pdf. However, on one hand, that is quite an effort to implement (since rendering is done in browser via AngularJS) and on the other hand, I thought, I should embrace the functionality of the browser, instead of implementing something myself.
Should I redirect the user to a simpler website for printing, or have a second, very simple, template and switch when the user is printing? Or should I just give the possibility to download PDFs without caring how the printed dashboard looks like?
Or is there some other solution? I couldn't find too much information to printing SPAs.