jsPDF addHTML()仅适用于document.body

时间:2016-01-07 04:00:40

标签: meteor pdf-generation jspdf html2canvas

我正在尝试从我的流星动力网站创建一个页面的pdf。该页面包含相当多的样式和一些d3图表。 我添加了chipcastledotcom:jspdfnew3rs:html2canvas来完成我的目标。我的计划是使用jsPDF的.addHTML()函数将非图表html添加到pdf中。我的问题是,除非我传入document.body作为.addHTML()的来源,否则渲染的元素会在pdf中被涂黑。使用document.body我能够在网页上看到当前可查看的资料,但没有其他内容(该页面有相当多的内容,需要滚动)。 jsPDF中是否存在某些复杂程度的支持w.r.t.到网页布局/样式?

更重要的是,是否有修复/解决方法?

这是一个jsfiddle(完美地运作),它展示了我想要完成的任务:https://jsfiddle.net/jdcast/tqfdkusp/

要清楚,小提琴中的.addHTML()效果很好:

 doc.addHTML(document.getElementById('div1'), 0, 0, function() {
   console.log('callback');
   doc.save('sampler-file.pdf');
 });

但是,在我的网站代码中逐字逐句,我必须使用以下内容查看ISN' T黑掉的输出:

doc.addHTML(document.body, 0, 0, function() {
  console.log('callback');
  doc.save('sampler-file.pdf');
});

另请注意,我使用过jsPDF' .text()函数,它似乎表现得很好,所以我觉得我没有错误地安装它。

谢谢!

0 个答案:

没有答案