jsPDF输出空白文档

13

我正在使用jsPDF将页面上一个DIV的输出保存为PDF。

到目前为止,我的代码如下:

function makepdf() {

var doc = new jsPDF();
var html=jQuery('.js-requester-info').html();
alert (html);
doc.fromHTML(html , 15, 15, {
    'width': 800
});

     doc.save('test');
}
代码可以运行,但生成的PDF文件总是空白的。
我已经添加了一个"debug"行。
alert (html);

从div中输出一些HTML代码,但PDF文件为什么总是空的?

更新: 我添加了一些延迟(我发现有人谈论渲染延迟),现在它已经可以了:

setTimeout(function(){
doc.save('test');
},2000);

似乎加入一些超时时间可以使其正常工作... - Antonio
1
有趣,这篇文章解决了我的问题。你知道为什么添加超时是必要的吗?以及为什么它没有包含在文档中? - Shadab Faiz
尝试添加timeOut,但仅在最后一页有效。之前的页面显示为空:( - mars-o
1个回答

1

您可以添加回调选项

let doc = new JsPDF({ orientation: 'p', format: 'a4' })
console.log(document.getElementById('offer').innerHTML)
doc.fromHTML(document.getElementById('offer').innerHTML, 1, 1, {
  elementHandlers: function() {
    return true
  }
}, function() {
  doc.save('test')
})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接