打印fabricjs画布?

cod*_*ver 2 html javascript canvas fabricjs

几周来我一直在努力创建功能来打印我的 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)

在此输入图像描述

use*_*284 5

内容加载后需要进行打印操作。下面的代码应该可以工作

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 + '" onload=window.print();window.close();>';
    windowContent += '</body>';
    windowContent += '</html>';
    var printWin = window.open('', '', 'width=340,height=260');
    printWin.document.open();
    printWin.document.write(windowContent);
}
Run Code Online (Sandbox Code Playgroud)