这些浏览器(Windows版本)正确地打印网页,该网页的img标签图像上覆盖了 Canvas :

IE6,IE7,IE8,Firefox,Safari

但是 Chrome (在我在3.0.195.27版本中键入此命令时为最新)和 Opera (在我键入此版本10.0 build 1750时为最新)。 Chrome会完全忽略 Canvas 渲染。 Opera将整个 Canvas 呈现为白色矩形,从而遮盖了其后面的图像。

我知道canvas标记是相当新的,并且打印网页总是很简单。我该如何处理?是否有我需要做的任何设置?我是否可以从JavaScript捕获“至少要打印”事件以至少警告用户?

更新:比看起来还怪。组合的图像( Canvas 上覆盖有img)可以在Brother激光打印机上正确打印,而在hp喷墨打印机上不能正确打印)。

因此,目前的情况是大多数浏览器都可以正确打印到我的喷墨打印机上,但Chrome不能。 Opera在两个打印机上都拧紧。

这一切都取决于打印机驱动程序以及各种浏览器如何与它们通信?

更新:我注意到Google文档为打印创建了PDF。

最佳答案

您可以使用PHP's PDF functions以编程方式创建PDF。真的很简单!

要创建一个新的PDF:

$pdf = pdf_new();

打开文件:
pdf_open_file($pdf, "pdfName.pdf");

您可以设置一些变量,例如作者:
pdf_set_info($pdf, "Title", "pdf Title here");

现在,您需要使用pdf_begin_page()函数:
pdf_begin_page($pdf, 595, 842);

这些是A4的尺寸。

内容

并使用以下命令关闭文件:
pdf_end_page($pdf);
pdf_close($pdf);

有关完整引用,请看PHP's PDF manual

07-24 09:50
查看更多