PHP使用MPDF类生成PDF的方法
程序员文章站
2022-12-29 14:34:27
由于公司业务的需要,最近需要把html静态文件生成pdf,在网上找了很多类文件来实现,效果都不是很好.最先用的是tcpdf这个类特别的慢,而且当前版本有一个很让人头疼的问题...
由于公司业务的需要,最近需要把html静态文件生成pdf,在网上找了很多类文件来实现,效果都不是很好.最先用的是tcpdf这个类特别的慢,而且当前版本有一个很让人头疼的问题—css中的背景图片无法获取到,找了很多资料都无法解决.最后发现mpdf可能实现该功能,大喜过望,而且效率也比tcpdf快.
mpdf的官方下载地址:
下载后里面有实例,可以参照着做一个就知道了.当然官方网站也有实例,网址:
官方提供的文档:
<?php /* *功能:生成用户诊断报告pdf文件 *创建时间:-- */ //phpinfo();exit; //引入mpdf类文件 set_time_limit(); include '/include/mpdf/mpdf.php'; //实例化mpdf $mpdf=new mpdf('utf-','a','','宋体',,,,); //设置字体,解决中文乱码 $mpdf->useadobecjk = true; $mpdf->setautofont(autofont_all); //获取要生成的静态文件 $html=file_get_contents('template.html'); echo $html;exit; //设置pdf页眉内容 $header='<table width="%" style="margin: auto;border-bottom: px solid #fbd; vertical-align: middle; font-family: serif; font-size: pt; color: #;"><tr> <td width="%"></td> <td width="%" align="center" style="font-size:px;color:#aaa">页眉</td> <td width="%" style="text-align: right;"></td> </tr></table>'; //设置pdf页脚内容 $footer='<table width="%" style=" vertical-align: bottom; font-family: serif; font-size: pt; color: #;"><tr style="height:px"></tr><tr> <td width="%"></td> <td width="%" align="center" style="font-size:px;color:#aaa">页脚</td> <td width="%" style="text-align: left;">页码:{pageno}/{nb}</td> </tr></table>'; //添加页眉和页脚到pdf中 $mpdf->sethtmlheader($header); $mpdf->sethtmlfooter($footer); //设置pdf显示方式 $mpdf->setdisplaymode('fullpage'); //设置pdf的尺寸为mm*mm //$mpdf->writehtml('<pagebreak sheet-size="mm mm" />'); //创建pdf文件 $mpdf->writehtml($html); //删除pdf第一页(由于设置pdf尺寸导致多出了一页) //$mpdf->deletepages(,); //输出pdf $mpdf->output(); exit; ?>