在应用 php codeigniter 在单个 pdf 上的多个页面上进行大量搜寻之后:
这是我在 php codeigniter 中这个问题的简略解决方案。
1- 在 <head> 标签后增加脚本:
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.min.js"></script>
2- 增加标签调用函数 > generatePdf
<a href="javascript:generatePDF()">Dowload PDF</a></div>
具备动静 id 的 3 组 div
<div id="html2pdf_<?php echo $reg['id']; ?>">
4- 启动 <script> 定义函数 generatePdf
<script>
function generatePDF() {}
</script>
5- 创立文档新的 jspdf
var doc = new jsPDF();
6 定义页面高度和 x,y 坐标
pageHeight= doc.internal.pageSize.height;
x=15; y = 0 ;
7- 通过用户 ID 动静调用 div 标签,其中指令从 db 填充:
<?php foreach($registration as $reg){?>
doc.fromHTML(document.getElementById("html2pdf_<?php echo $reg['id']; ?>"),x,y,{'width': 170}),
<?php } ?>
8- 将文档保留在下载文件夹中
doc.save("CallLetters.pdf");
9- 当初在一个 pdf 中增加多个页面:
if (y >= pageHeight)
{doc.addPage();
}
10- 残缺代码:
<script>
function generatePDF() {var doc = new jsPDF();
pageHeight= doc.internal.pageSize.height;
x=15; y = 0 ;
<?php foreach($registration as $reg){?>
if (y >= pageHeight)
{doc.addPage();
y = 0
doc.fromHTML(document.getElementById("html2pdf_<?php echo $reg['id']; ?>"),x,y,{'width': 170}),
y=500;
}
else{doc.fromHTML(document.getElementById("html2pdf_<?php echo $reg['id']; ?>"),x,y,{'width': 170}),
y=500;
}<?php } ?>
doc.save("CallLetters.pdf");
}
</script>