这是我在这里提出的第一个问题,因为通常我可以找到一个可以解决我所有问题的答案。然而,这周我已经碰壁了。
我在我的页面上使用画布,效果很好,可以保存为图像文件。我还创建了一个按钮,该按钮将在使用 toDataURL 后在新窗口中打开画布进行打印。我正在使用下面的代码:
function printable() {
var dataUrl = document.getElementById("mainCanvas").toDataURL("image/png");
var windowContent = '<!DOCTYPE html>';
windowContent += '<head><title>Print Map</title></head>';
windowContent += '<body>';
windowContent += '<img src = "' + dataUrl + '">';
windowContent += '</body>';
windowContent += '</html>';
var printWin = window.open('', '', width = 340, height = 260);
printWin.document.open();
printWin.document.write(windowContent);
printWin.document.close();
printWin.focus();
printWin.print();
}
这很好用,并打开打印对话框来打印我的画布图像。我的问题是我的图像大于单页,并且只打印图像的第一页。有什么方法可以在多个页面上打印我的画布,还是我应该将其归咎于浏览器的打印机功能不佳,并让需要打印的用户在本地保存画布后使用不同的程序?
谢谢