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

34次阅读

共计 1257 个字符,预计需要花费 4 分钟才能阅读完成。

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

微微关注,将推“心”的不错教训和常识!

正文完
 0