这些浏览器(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。