jsPDF输出空白文档

Posted

技术标签:

【中文标题】jsPDF输出空白文档【英文标题】:jsPDF outputs blank document 【发布时间】:2016-08-15 23:14:08 【问题描述】:

我正在使用 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 文件始终为空白。 我添加了一个“调试”行和

alert (html);

从div中输出一些html代码,但是为什么pdf总是空的呢?

更新: 我添加了一些延迟(我发现有人谈论渲染延迟),现在它正在工作:

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

【问题讨论】:

看起来像添加一些超时使它工作.... 有趣,这篇文章解决了我的问题。知道为什么需要添加超时吗?为什么它没有包含在文档中? 也尝试添加 timeOut,但仅适用于最后一页。前几页显示空白:( 【参考方案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')
)

【讨论】:

以上是关于jsPDF输出空白文档的主要内容,如果未能解决你的问题,请参考以下文章

为啥导出的pdf有空白页

使用 jspdf 导出 PDF 不呈现 CSS

Sphinx文档:从生成的PDF中删除空白页面?

为啥word转化为pdf之后会有空白页

plc中间有一段空白怎么消除

Word文档项目编号后边的一段空白怎么调整?