服务器之家

服务器之家 > 正文

PHP中使用mpdf 导出PDF文件的实现方法

时间:2019-08-31 12:31     来源/作者:你看我哪里像好人

mPDF是一个很强大的PDF生成库,能基本兼容HTML标签和CSS3样式,这篇文章通过实例代码给大家介绍PHP中使用mpdf 导出PDF文件的实现方法。

具体代码如下所示:

/**
 * PHP 使用 mpdf 导出PDF文件
 * @param $content  string PDF文件内容 若为html代码,css内容分离 非id,class选择器可能失效,解决办法直接写进标签style中
 * @param $filename string 保存文件名
 * @param $css   string css样式内容
 */
function export_pdf_by_mpdf($content, $filename, $css = '')
{
 set_time_limit(0);
 include_once './mpdf/mpdf.php';
 //实例化mpdf
 $_obj_mpdf = new \mPDF('utf-8', 'A4', '', '宋体', 0, 0, 20, 10);
 //设置PDF页眉内容 (自定义编辑样式)
 $header = '<table width="95%" style="margin:0 auto;border-bottom: 1px solid #4F81BD; vertical-align: middle; font-family:serif; font-size: 9pt; color: #000088;">
    <tr><td width="10%"></td><td width="80%" align="center" style="font-size:16px;color:#A0A0A0">页眉</td><td width="10%" style="text-align: right;"></td></tr></table>';
 //设置PDF页脚内容 (自定义编辑样式)
 $footer = '<table width="100%" style=" vertical-align: bottom; font-family:serif; font-size: 9pt; color: #000088;"><tr style="height:30px"></tr><tr>
    <td width="10%"></td><td width="80%" align="center" style="font-size:14px;color:#A0A0A0">页脚</td><td width="10%" style="text-align: left;">
    页码:{PAGENO}/{nb}</td></tr></table>';
 //添加页眉和页脚到PDF中
 $_obj_mpdf->SetHTMLHeader($header);
 $_obj_mpdf->SetHTMLFooter($footer);
 $_obj_mpdf->SetDisplayMode('fullpage');//设置PDF显示方式
 $_obj_mpdf->WriteHTML('<pagebreak sheet-size="210mm 297mm" />');//设置PDF的尺寸 A4纸规格尺寸:210mm*297mm
 !empty($css) && $_obj_mpdf->WriteHTML($css, 1);//设置PDF css样式
 $_obj_mpdf->WriteHTML($content);//将$content内容写入PDF
 $_obj_mpdf->DeletePages(1, 1);//删除PDF第一页(由于设置PDF尺寸导致多出的一页)
 //输出PDF 直接下载PDF文件
 //$_obj_mpdf->Output($filename . '.pdf', true);
 //$_obj_mpdf->Output($filename . '.pdf', 'D');
 $_obj_mpdf->Output();//输出PDF 浏览器预览文件 可右键保存
 exit;
}
$html = '<b style="color: red">你看我哪里像好人</b>';
$wordname = 'test-file';
export_pdf_by_mpdf($html, $wordname);

总结

以上所述是小编给大家介绍的PHP中使用mpdf 导出PDF文件的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

标签:

相关文章

热门资讯

华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍 2019-06-05
逃跑吧少年怎么卡皮肤 逃跑吧少年卡永久皮肤技巧
逃跑吧少年怎么卡皮肤 逃跑吧少年卡永久皮肤技巧 2019-06-21
返回顶部