使用JsPDF将Canvas转换为Pdf

14

我正在尝试将画布转换为PDF,但是结果只得到了干净的白色PDF文件。以下是我的代码,但我无法找出问题所在。

function HtmlToImage(){
    html2canvas(document.body, {
    onrendered: function(canvas) {
    var img =canvas.toDataURL("image/jpeg,1.0");  
    var pdf = new jsPDF();
    pdf.addImage(img, 'JPEG', 0, 0);
    pdf.output('datauri');
                }
          });
       }

6
笑,你的问题就是我的答案。你正确地做了那件事,为我添加了图片。 - owen gerig
很高兴知道我的帖子对你有所帮助 :) - AddyProg
我也是!这是您代码的重构版本:html2canvas(document.getElementById('comprobante'), { onrendered: function(canvas) { var img =canvas.toDataURL("image/jpeg,1.0"); var pdf = new jsPDF(); pdf.addImage(img, 'JPEG', 0, 0); pdf.output('datauri'); pdf.save('autoprint.pdf'); } }); - Ulises Vargas De Sousa
2个回答

10

试试这个替代方案:

var pdf = new jsPDF('p','pt','a4');

pdf.addHTML(document.body,function() {
    pdf.output('datauri');
});

请参见http://mrrio.github.io/jsPDF/


它说...pdf.addHTML(document.body,function() - AddyProg
抱歉,意味着调试器无法识别此addHTML函数。 - AddyProg
addHTML是一个新的jsPDF插件,从https://github.com/MrRio/jsPDF/tree/master/dist选择最新版本。 - diegocr
1
使用这个工具发现模糊的图像,感到遗憾。 - Mohammad Faizan khan

0
function canvas2pdf(){ var img =canvas.toDataURL(); var pdf = new jspdf.jsPDF(); pdf.addImage(img, 'JPEG', 0, 0); pdf.save('canvas.pdf'); }

您的答案目前存在不明确之处。请进行[编辑]以添加更多细节,以帮助其他人理解该如何回答这个问题。您可以在帮助中心找到有关如何撰写良好答案的更多信息。 - Community

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