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 相关文章推荐
php读取msn上的用户信息类
Dec 05 PHP
php 远程关机操作的代码
Dec 05 PHP
在命令行下运行PHP脚本[带参数]的方法
Jan 22 PHP
PHP使用数组实现队列
Feb 05 PHP
工厂模式在Zend Framework中应用介绍
Jul 10 PHP
php中chdir()函数用法实例
Nov 13 PHP
Laravel5中contracts详解
Mar 02 PHP
php动态生成版权所有信息的方法
Mar 24 PHP
ThinkPHP实现更新数据实例详解(demo)
Jun 29 PHP
Yii2框架制作RESTful风格的API快速入门教程
Nov 08 PHP
thinkPHP自定义类实现方法详解
Nov 30 PHP
关于PHP数组迭代器的使用方法实例
Nov 17 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 SQLite类
2009/05/07 PHP
PHP生成静态HTML页面最简单方法示例
2015/04/09 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
php框架CodeIgniter使用redis的方法分析
2018/04/13 PHP
自适应图片大小的弹出窗口
2006/07/27 Javascript
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2010/02/04 Javascript
javascript简易缓动插件(源码打包)
2012/02/16 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
javascript简单实现滑动菜单效果的方法
2015/07/27 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
2015/08/27 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
微信小程序实现顶部选项卡(swiper)
2020/06/19 Javascript
vue组件中的数据传递方法
2018/05/14 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
2018/06/11 Javascript
快速对接payjq的个人微信支付接口过程解析
2019/08/15 Javascript
[01:03:42]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python学习小技巧总结
2018/06/10 Python
Python中的集合介绍
2019/01/28 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2019/04/03 Python
Python基于scipy实现信号滤波功能
2019/05/08 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
Python多线程threading join和守护线程setDeamon原理详解
2020/03/18 Python
python 实现两个npy档案合并
2020/07/01 Python
Python 制作查询商品历史价格的小工具
2020/10/20 Python
使用HTML5中的contentEditable来将多行文本自动增高
2016/03/01 HTML / CSS
学校评语大全
2014/05/06 职场文书
倡议书格式
2014/08/30 职场文书
学校政风行风整改方案
2014/10/25 职场文书
敬业奉献模范事迹材料
2014/12/24 职场文书
本科毕业论文导师评语
2014/12/31 职场文书
大学生个人学年总结
2015/02/15 职场文书
《老人与海鸥》教学反思
2016/02/16 职场文书
关于 Python json中load和loads区别
2021/11/07 Python
nginx七层负载均衡配置详解
2022/07/15 Servers