意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

在 PHP CodeIgniter 中使用 JSPDF 创建一个动态生成多个页面的 pdf 文件

来源:恒创科技 编辑:恒创科技编辑部
2024-01-28 03:12:59
在使用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


在 PHP CodeIgniter 中使用 JSPDF 创建一个动态生成多个页面的 pdf 文件

<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>  
轻轻关注,将推“心”的不错经验和知识!
上一篇: 使用数组方法indexOf()判断两个数组里面是否有相同项,如果不包含,则添加item.checked = true 下一篇: 手机怎么远程登录云服务器?