这些浏览器(Windows 版本)正确打印在 img 标签图像上具有画布覆盖的网页:
IE6、IE7、IE8、火狐、Safari
但是Chrome(我在版本 3.0.195.27 键入时是最新的)和Opera(在我键入此版本时是最新的 10.0 build 1750)没有。Chrome 完全忽略了画布渲染。Opera 将整个画布渲染为一个白色矩形,使其后面的图像变得模糊。
我知道画布标签相当新,而且打印网页总是很冒险。我该如何处理?我是否缺少任何设置来完成这项工作?我可以从 JavaScript 中捕获“即将打印”事件以至少警告用户吗?
更新:它比看起来更奇怪。组合图像(覆盖 img 的画布)可以在我的 Brother 激光打印机上正确打印,但不能在我的 hp 喷墨打印机上打印)。
所以目前的情况是大多数浏览器都能正确打印到我的喷墨打印机上,但 Chrome 却不行。Opera 在两台打印机上都搞砸了。
这一切都归结为打印机驱动程序以及各种浏览器如何与它们通信吗?
更新:我注意到 Google Docs 构建了一个用于打印的 PDF。