我的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的第二页。之后,我必须在浏览器中显示。
我无法做到这一点。
任何人都可以为这个提供解决方案吗?
答案 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}});