我使用Html2Canvas,然后使用jsPdf导出图像。

这是功能:

function exportPdf() {
    content = $("#print");

    var useWidth = content.prop('scrollWidth');
    var useHeight = content.prop('scrollHeight');

    debugger;

    html2canvas((content), { width: useWidth, height: useHeight}).then(function (canvas) {
        debugger;
        var img = canvas.toDataURL("image/png");
        var doc = new jsPDF({
            unit:'px',
            format:'a4'
        });

        debugger;
        doc.addImage(img, 'JPEG', 0, 0);
        doc.save('test.pdf');
    });
}

我认为正在考虑视口(viewport),就像在做一个打印屏幕一样,当然,滚动下方的任何内容都不会考虑到它。

有任何想法吗?

最佳答案

称呼

    window.scrollTo(0,0)

在调用html2canvas之前,它似乎是一个错误,但是该窗口必须位于顶部,以便html2canvas捕获传递给它的整个DOM。

关于Html2Canvas图像被剪切,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40349075/

10-11 13:33