如何通过jspdf将单个图像放在多个页面上?

时间:2015-09-09 10:10:53

标签: javascript html pdf jspdf

我的html页面包含非常冗长的数据。

在这里,我必须将html转换为pdf。我无法通过使用jspdf

转换pdf与css

所以我有计划。首先通过canvas将html转换为png,然后将png转换为pdf。我有正确的方法来做到这一点。我也得到了解决方案。

但问题是在转换png后,我无法放入pdf,图像将被裁剪。

这是我的代码

window.onload = function() {
                html2canvas(document.body).then(function(canvas) {
        document.getElementById("page1").appendChild(canvas);
                    document.body.appendChild(canvas);
                    var context = canvas.getContext("2d");
                     l = {
                         orientation: 'p',
                         unit: 'pt',
                         format: 'a3',
                         compress: true,
                         fontSize: 8,
                         lineHeight: 1,
                         autoSize: false,
                         printHeaders: true
                     };

                    var doc = new jsPDF(l, "", "", "");



                    doc.addImage(canvas.toDataURL("image/jpeg"), 'jpeg',0,0)
                    doc.addPage();
            doc.addImage(canvas.toDataURL("image/jpeg"), 'jpeg',0,500, 1000, 1000)
                    window.location=doc.output("datauristring")
                });
            }

转换pdf后,我显示在同一个标​​签中。

我尝试了另一种方法。

将html页面分为两部分。第一部分将在pdf的第一页,其余部分将在pdf的第二页。之后,我必须在浏览器中显示。

我无法做到这一点。

任何人都可以为这个提供解决方案吗?

1 个答案:

答案 0 :(得分:0)

l = {                          方向:'p',                          单位:'pt',                          格式:'a3',                          压缩:是的,                          fontSize:8,                          lineHeight:1,                          autoSize:false,                          printHeaders:true                      };

var doc = new jsPDF(l);

doc.addHTML($('elementHTML'),{format:'png',pagesplit:true}});