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获取mysql版本的几种方法小结
Mar 25 PHP
php magic_quotes_gpc的一点认识与分析
Aug 18 PHP
php运行出现Call to undefined function curl_init()的解决方法
Nov 02 PHP
php 广告调用类代码(支持Flash调用)
Aug 11 PHP
PHP 验证码不显示只有一个小红叉的解决方法
Sep 30 PHP
php递归实现无限分类的方法
Jul 28 PHP
PHP如何将log信息写入服务器中的log文件
Jul 29 PHP
在WordPress中使用wp-cron插件来设置定时任务
Dec 10 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
php实现websocket实时消息推送
Mar 30 PHP
PHP中PDO事务处理操作示例
May 02 PHP
Laravel框架表单验证操作实例分析
Sep 30 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
《一拳超人》埼玉一拳下去,他们存在了800年毫无意义!
2020/03/02 日漫
php下使用curl模拟用户登陆的代码
2010/09/10 PHP
Zend的MVC机制使用分析(二)
2013/05/02 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
Prototype String对象 学习
2009/07/19 Javascript
jquery maxlength使用说明
2011/09/09 Javascript
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
js类型转换与引用类型详解(Boolean_Number_String)
2014/03/07 Javascript
使用Plupload实现直接上传附件至七牛云存储
2014/12/26 Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
2016/04/06 Javascript
js字符串截取函数slice、substring和substr的比较
2016/05/17 Javascript
Vue中this.$router.push参数获取方法
2018/02/27 Javascript
详解Vscode中使用Eslint终极配置大全
2019/11/08 Javascript
Vue的transition-group与Virtual Dom Diff算法的使用
2019/12/09 Javascript
Vue中el-form标签中的自定义el-select下拉框标签功能
2020/04/20 Javascript
如何阻止移动端浏览器点击图片浏览
2020/08/29 Javascript
Python将阿拉伯数字转换为罗马数字的方法
2015/07/10 Python
利用python将json数据转换为csv格式的方法
2018/03/22 Python
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
python 爬虫 批量获取代理ip的实例代码
2018/05/22 Python
详解如何用django实现redirect的几种方法总结
2018/11/22 Python
让Python脚本暂停执行的几种方法(小结)
2019/07/11 Python
python 内置函数汇总详解
2019/09/16 Python
10行Python代码实现Web自动化管控的示例代码
2020/08/14 Python
Python eval函数原理及用法解析
2020/11/14 Python
Manjaro、pip、conda更换国内源的方法
2020/11/17 Python
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
泰国王权免税店官方网站:KingPower
2019/03/11 全球购物
DataReader和DataSet的异同
2014/12/31 面试题
医德医风自我评价2015
2015/03/03 职场文书
2015年社区计生工作总结
2015/04/21 职场文书
爱鸟护鸟的宣传语
2015/07/13 职场文书
谢师宴家长致辞
2015/07/27 职场文书
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android
Java数据结构之堆(优先队列)
2022/05/20 Java/Android