These browsers (Windows versions) correctly print a web page which has a canvas overlay over an img tag image:
IE6, IE7, IE8, Firefox, Safari
But Chrome (up-to-date as I type this at version 3.0.195.27) and Opera (up-to-date as I type this version 10.0 build 1750) don't. Chrome ignores the canvas rendering entirely. Opera renders the entire canvas as a white rectangle, obscuring the image behind it.
I know the canvas tag is rather new, and that printing web pages is always dicey. How should I handle this? Are there any settings I'm missing to make this work? Is there an "about to print" event I can catch from JavaScript to at least warn the user?
Update: It's even weirder than it seems. The combined image (canvas overlaying an img) prints correctly on my Brother laserjet but not on my hp inkjet).
So the current situation is that most browsers print correctly to my inkjet, but Chrome does not. Opera screws up on both printers.
Is this all down to printer drivers and how various browsers communicate with them?
Update: I notice that Google Docs builds a PDF for printing.