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


Posted in PHP onOctober 22, 2018

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文件的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
一个取得文件扩展名的函数
Oct 09 PHP
初品cakephp 入门基础
Feb 16 PHP
PHP5中Cookie与 Session使用详解
Apr 30 PHP
基于php无限分类的深入理解
Jun 02 PHP
解析zend studio中直接导入svn中的项目的方法步骤
Jun 21 PHP
ThinkPHP使用心得分享-分页类Page的用法
May 15 PHP
分享五个PHP7性能优化提升技巧
Dec 07 PHP
PHP多维数组转一维数组的简单实现方法
Dec 23 PHP
PHP数组实例详解
Jun 26 PHP
PHP实现的简单异常处理类示例
May 04 PHP
thinkphp3.2同时连接两个数据库的简单方法
Aug 13 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
Dec 13 PHP
php微信公众号开发之答题连闯三关
Oct 20 #PHP
php微信公众号开发之简答题
Oct 20 #PHP
php微信公众号开发之快递查询
Oct 20 #PHP
php微信公众号开发之翻页查询
Oct 20 #PHP
php微信公众号开发之校园图书馆
Oct 20 #PHP
php微信公众号开发之二级菜单
Oct 20 #PHP
php微信公众号开发之音乐信息
Oct 20 #PHP
You might like
php 中文字符串首字母的获取函数分享
2013/11/04 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
php微信公众号开发之快递查询
2018/10/20 PHP
yii框架数据库关联查询操作示例
2019/10/14 PHP
JQUERY 对象与DOM对象之两者相互间的转换
2009/04/27 Javascript
PPK 谈 JavaScript 的 this 关键字 [翻译]
2009/09/29 Javascript
什么是DOM(Document Object Model)文档对象模型
2012/03/05 Javascript
jQuery基于当前元素进行下一步的遍历
2014/05/20 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
jQuery实现的表格展开伸缩效果实例
2016/09/07 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
2016/10/31 Javascript
jQuery操作DOM_动力节点Java学院整理
2017/07/04 jQuery
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
在页面中引入js的两种方法(推荐)
2017/08/29 Javascript
bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)
2017/11/17 Javascript
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
[09:59]DOTA2-DPC中国联赛2月7日Recap集锦
2021/03/11 DOTA
Python中的迭代器漫谈
2015/02/03 Python
Python基于pygame模块播放MP3的方法示例
2017/09/30 Python
深入分析python数据挖掘 Json结构分析
2018/04/21 Python
HTML5 video播放器全屏(fullScreen)方法实例
2015/04/24 HTML / CSS
HTML5自定义元素播放焦点图动画的实现
2019/09/25 HTML / CSS
安德玛菲律宾官网:Under Armour菲律宾
2020/07/28 全球购物
生物专业个人自荐信范文
2013/11/29 职场文书
开工庆典邀请函范文
2014/01/16 职场文书
运动会通讯稿50字
2014/01/30 职场文书
领导干部考察材料
2014/02/08 职场文书
《纸船和风筝》教学反思
2014/02/15 职场文书
5.12护士节演讲稿
2014/04/30 职场文书
餐饮周年庆活动方案
2014/08/14 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
感恩父母主题班会
2015/08/12 职场文书
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python
Tomcat弱口令复现及利用
2022/05/06 Servers