首页 > 解决方案 > 在画布中执行 toDataUrl 失败

问题描述

如果我尝试使用 html2canvas 截取屏幕截图并使用 jspdf 保存,我会收到以下错误: 在此处输入图像描述

如果我添加 crossorigin = "anonymous" 我会得到一个空白空间和同样的错误。这是代码:

window.html2canvas = html2canvas;
window.jsPDF = window.jspdf.jsPDF;

function createPDF() {
    html2canvas(document.querySelector('#capture'), {
        allowTaint: true,
        useCORS: false,
        scale: 1
    }).then(canvas => {
        document.body.appendChild(canvas);
        let img = new Image();
        img.src = canvas.toDataURL("image/png");
        console.log(img);
        let doc = new jsPDF('p', 'mm', 'a4');
        let width = doc.internal.pageSize.getWidth();
        var height = doc.internal.pageSize.getHeight();

        doc.addImage(img, 'png', 0, 0);
        doc.save("filename.pdf");
    });

有谁知道发生了什么?任何解决方案将不胜感激!

标签: pdfcanvasjspdfhtml2canvashtml2pdf

解决方案


推荐阅读