【发布时间】:2009-10-19 16:49:36
【问题描述】:
这些浏览器(Windows 版本)可以正确打印在 img 标签图像上具有画布覆盖的网页:
IE6、IE7、IE8、火狐、Safari
但是 Chrome(我在 3.0.195.27 版本中输入时是最新的)和 Opera(在我输入时是最新的 10.0 版本1750)不要。 Chrome 完全忽略了画布渲染。 Opera 将整个画布渲染为一个白色矩形,使其后面的图像变得模糊。
我知道画布标签相当新,而且打印网页总是很冒险。我该如何处理?我是否缺少任何设置来完成这项工作?我可以从 JavaScript 中捕获“即将打印”事件以至少警告用户吗?
更新:它比看起来更奇怪。组合图像(覆盖 img 的画布)在我的 Brother 激光打印机上正确打印,但在我的 hp 喷墨打印机上打印不正确。
所以目前的情况是大多数浏览器都可以正确打印到我的喷墨打印机,但 Chrome 不能。 Opera 在两台打印机上都搞砸了。
这完全取决于打印机驱动程序以及各种浏览器如何与其通信?
更新:我注意到 Google Docs 构建了一个用于打印的 PDF。
【问题讨论】:
-
twiddla.com/test/ChromeCanvas.html 测试页,也许有助于找出问题所在!?
-
@powtac... 你让问题变得更有趣了。在 Chrome 中,您链接到的页面可以在我的黑白激光打印机上正确打印,但左侧的红色框不会在我的彩色喷墨打印机上打印(但右侧的两个红色数字——它们是位图——可以)。跨度>
-
如果我在 Chrome 4.0.222 (Beta) 上使用 PDF Creator 或 XPS writer(未在真实打印机上测试),文档打印效果很好。这可能已在此版本中修复。
-
@Fabien Menager:我不确定这能告诉我什么,因为问题取决于我选择作为输出的打印机。
-
我不知道这是否相关,但这篇博文提到了使用 Opera 打印 Canvas 元素时出现的问题,具体取决于用户设置:my.opera.com/OmegaJunior/blog/2009/08/13/…
标签: javascript printing google-chrome canvas opera