I'm developing a web service that allows users to generate content. I need to provide a method for printing this content (html + css + images + javascript) without the information in the print options margins (page title, url, timestamp, page number).
I have considered the following:
1) Write a detailed tutorial where I inform the users how to disable these options in their browser. I can even "detect" the browser and automatically load the tutorial that fits them. Unfortunately, my customers know nothing about computers and I'd like to make the whole experience as simple and smooth as possible. I don't even seem to be able to supply a button to easily access these print options (see link below)..
2) After browser detection, I can offer them a registry file to download and run that will/might/should disable these options. I don't like this method since not only may it present a security issue, but will not work on Macs or Linux.
3) I have tried the hack below "Disabling browser print options (headers, footers, margins) from page?" without success. It doesn't work at all in IE and in FF only if the printed content is less than a page.
4) Generating pdfs on the server. This might work, but since the design relies on styles and content heavily on JavaScript, I doubt it will. http://phptopdf.com/ is an option, however adding their code to my server will allow the creators to hack into and change anything at will. Also, I dislike relying on external services and scripts.
5) I may be able to setup my own server that accepts the files to be printed directly in a browser, automatically prints to a pdf, finally returning that file to the customer.. but this requires separate hardware that's on 24/7.. it's messy.
How can Print Preview be called from Javascript?
Disabling browser print options (headers, footers, margins) from page?
So, what is the easiest way to disable/bypass printing margin information issue?