使用
pagesplit: true
将始终拉伸pdf输出。尝试使用旧版本的jsPDF和html2canvas,可以解决此问题。
分享我经过两天尝试后实现多页PDF生成的结果,使用
addHTML
而不是
fromHTML
,因为后者会丢失CSS规则。
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.debug.js"></script>
如果一切正常,PDF应该如下所示:
<script>
$(window).on('load', function(){
var pdf = new jsPDF('p', 'pt', 'a4');
var pdfName = 'sample.pdf';
var options = {
format: 'JPEG',
"background": '#000',
};
var fullPage = $('#Printout_21571')[0],
firstPartPage = $('#part-1')[0],
secondPartPage = $('#part-2')[0];
pdf.addHTML(firstPartPage, 15, 20, options, function(){ pdf.addPage() });
pdf.addHTML(secondPartPage, 15, 20, options, function(){});
setTimeout(function() {
var blob = pdf.output("blob");
window.open(URL.createObjectURL(blob));
}, 600);
})
</script>
希望这能帮到你。谢谢!