首页 > 解决方案 > 使用 jspdf 和 html2canvas 将包含图像的 html 页面下载到 pdf

问题描述

实际问题

我正在使用jspdfhtmltocanvasPython-Flask创建 PDF 。我们有一些带有图像的 html 文本,并希望通过单击按钮将其下载为 pdf。我做了一个 jsfiddle 来展示这一点,当我们点击打印按钮时,pdf 被下载,但文本被拉伸,并且徽标图像没有显示。请检查 jsfiddle 中的代码,无法理解是什么导致它不显示图像并拉伸下载的 pdf 中的文本字符。

我做了什么

以下是代码的 jsfiddle 链接:-

http://jsfiddle.net/qcLkud1e/

var doc = new jsPDF('landscape');
function add_logo(doc){
    return doc.addImage($('img').attr('src'),90,0,120,40);
}

$("#printtopdf").on('click',function(){
    doc.save('Invoice.pdf');
});

html2canvas($(".wrapper"),
{ allowTaint: true,
    useCORS: false,
    onrendered:function(canvas)
    {
        var dataUrl = canvas.toDataURL("image/png");
        doc.addImage(dataUrl,0,0,300,210);
        doc = add_logo(doc);
    }
});

预期产出 预期输出截图

标签: jqueryhtmltwitter-bootstrap-3jspdfhtml2canvas

解决方案


推荐阅读