The root of the problem is forcing printing, while your user knows better when, what and how to print. The problem is that many Wen pages are not suitable for printing, and some should produce printout per special requirements (like in case with bills and other formal documents). There is an elegant and legitimate solution based on @media CSS elements.
For basic ideas, please see my past answers:
Print Functionality in JavaScript[
^],
How to Print a Invoice[
^].
—SA