我创建了一个简单的基于html的网页,其中包含表单和一些文本以及画布.我想在一张纸上打印包括画布的页面,问题是 - 画布不会在打印输出中显示.这是我在如何处理画布时遗漏的东西吗?我目前正在使用Opera,是否知道其他浏览器是否更好地处理这个问题?
几周来我一直在努力创建功能来打印我的 Fabricjs 画布。我尝试过这里提到的方法,但没有成功。我可以进入打印对话框,但是,除了标题和页面信息之外,它是空白的。有人能指出我正确的方向吗?
我目前正在使用:
// Trying to print
function printCanvas()
{
var dataUrl = document.getElementById('c').toDataURL(); //attempt to save base64 string to server using this var
var windowContent = '<!DOCTYPE html>';
windowContent += '<html>'
windowContent += '<head><title>Print canvas</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();
printWin.close();
}
Run Code Online (Sandbox Code Playgroud)
<button onclick="printCanvas()">Print</button>
Run Code Online (Sandbox Code Playgroud)