jsPDF:fromHTML与addHTML

时间:2019-06-01 02:32:43

标签: javascript jspdf html2canvas

我正在尝试导出html(具有ID的div内),并设法使用fromHTML()做到这一点,但是不幸的是,它不读取/使用我拥有的任何CSS。这就是说,我尝试使用addHTML函数,但是当我使用以下代码时,似乎没有任何反应:

function pdfExport(id) {
    window.html2canvas = html2canvas;
    var dddoc = new jsPDF('p', 'px', 'a4');
    var elem_to_export = $("#cmodal-id-" + id)[0];

    dddoc.addHTML(document.body, function(){
        console.log('saving');
        dddoc.save('test.pdf');
    });
}

此外,请注意,我没有将任何内容打印到控制台中。不知道它是否值得:在运行此函数pdfExport()之前-(它运行onclick)-在js控制台中出现一个get错误,因为该图像不存在。现在,当我运行该函数时,再次出现相同的错误,就像试图再次加载该图像一样。

2 个答案:

答案 0 :(得分:0)

fromHTMLaddHTML均为deprecatedno longer supported by the JsPDF团队。如果您仍然想使用addHTMLfromHTML,则需要使用jsPDF 1.4.1。因此,请检查您的jspdf版本或迁移到新的jsPDF html插件。有关代码示例,请将此answer签出。

答案 1 :(得分:0)

这不起作用,因为我同时使用了html2canvas和jsPDF的最新版本。当我将其更改为从以下位置加载时:

'https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.debug.js', 'https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js'

一切正常。