在使用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>  

轻轻关注,将推“心”的不错经验和知识!


Jackey
326 声望69 粉丝

Keep running!