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

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

(0)

相关推荐

  • Yii2.0 RESTful API 基础配置教程详解

    最近在做Yii2.0 RESTful API功能,找了好久的资料,才找到这类的教程,感谢该作者,以下内容根据我的项目实际情况做了一定的修改. 安装yii2.0 安装 Composer 后,您可以通过在 Web 可访问的文件夹下运行以下命令来 安装Yii应用程序模板: composer create-project --prefer-dist yiisoft/yii2-app-basic basic 初始化高级模板 cd advanced ./init 输入"./init"后会出现以下内

  • Yii2中组件的注册与创建方法

    今天本来打算研究一下yii2.0的AR模型的实现原理,然而,计划赶不上变化,突然就想先研究一下yii2.0的数据库组件创建的过程.通过对yii源码的学习,了解了yii组件注册与创建的过程,并发现原来yii组件注册之后并不是马上就去创建的,而是待到实际需要使用某个组件的时候再去创建对应的组件实例的.本文大概记录一下这个探索的过程. 要了解yii组件的注册与创建,当然要从yii入口文件index.php说起了,整个文件代码如下: <?php defined('YII_DEBUG') or defin

  • PHP MPDF中文乱码的解决方式

    废话不多说了,直接奔入主题了. 推荐教程:PHP使用MPDF类生成PDF的方法 1.config.php文件,大约67行: $this->autoLangToFont = true; 2.使用的时候 注意, +aCJK 这个参数,而不是  c这个参数 $mpdf=new \mPDF('+aCJK','A4','','',32,25,27,25,16,13); $mpdf->WriteHTML($content); $mpdf->Output(); 然后就输出中文了 这个针对版本mPDF6

  • Yii2框架实现利用mpdf创建pdf文件功能示例

    本文实例讲述了Yii2框架实现利用mpdf创建pdf文件功能.分享给大家供大家参考,具体如下: 安装mPDF 使用 Composer安装 在yii2的 'composer.json' 加入"mpdf/mpdf":"*" "require": { "php": ">=5.4.0", "yiisoft/yii2": "*", "yiisoft/yii2-b

  • Yii2创建多界面主题(Theme)的方法

    本文实例讲述了Yii2创建多界面主题(Theme)的方法.分享给大家供大家参考,具体如下: Yii2界面主题上的设计总体上和Yii1.x保持一致,区别在于两个地方: 1. 由于Yii2引入了独立的视图(View)类,因此界面主题(Theme)也交由视图来管理: 2. 视图文件和Web资源在目录上做了分离(在应用程序模板中,分别对应于views和web目录) 以高级应用程序模板为例, 首先在frontend/views和frontend/web目录下分别创建一个themes/{your theme

  • Yii2创建控制器(createController)方法详解

    本文实例讲述了Yii2创建控制器(createController)方法.分享给大家供大家参考,具体如下: yii中创建控制器的是在application中的request通过UrlManager解析得出路由信息的,然后再由yii\base\Module中的 public function runAction($route, $params = []) 方法来创建控制器,最后由控制器再执行相应的动作. 首先得明确,Yii中的路由分三种情况: 第一种是带有模块的(module id/control

  • yii2.0实现创建简单widgets示例

    本文实例讲述了yii2.0实现创建简单widgets的方法.分享给大家供大家参考,具体如下: namespace yii\widgets; use yii\base\Widget; use yii\helpers\Html; class HelloWidget extends Widget { public $message; public function init() { parent::init(); if ($this->message === null) { $this->messa

  • Yii2.0建立公共方法简单示例

    本文实例讲述了Yii2.0建立公共方法.分享给大家供大家参考,具体如下: 因为之前写项目都是用的Thinkphp,公共方法都写在Tp自带的common下面的function里面,初次接触Yii框架发现它自身没带这个机制.在项目中,很多地方都需要公共方法的存在,以提高代码复用性,减少重复开发的时间,那yii2如何定义自己的公共方法呢? 以yii2-advanced版本为基础来进行介绍: 上图为yii2-advanced版本的基础目录结构,而./common 目录为公共资源目录,我们可以把定义的方法

  • PHP使用MPDF类生成PDF的方法

    由于公司业务的需要,最近需要把html静态文件生成pdf,在网上找了很多类文件来实现,效果都不是很好.最先用的是tcpdf这个类特别的慢,而且当前版本有一个很让人头疼的问题-css中的背景图片无法获取到,找了很多资料都无法解决.最后发现mpdf可能实现该功能,大喜过望,而且效率也比tcpdf快. mpdf的官方下载地址:http://www.mpdf1.com/mpdf/download 下载后里面有实例,可以参照着做一个就知道了.当然官方网站也有实例,网址:http://mpdf1.com/c

  • Yii2创建表单(ActiveForm)方法详解

    本文实例讲述了Yii2创建表单(ActiveForm)的方法.分享给大家供大家参考,具体如下: 由于表单涉及到一些验证方面的信息,属性设置又比较多.比较复杂,所以哪里有什么不正确的地方请留言指点 目录 表单的生成 表单中的方法   ActiveForm::begin()方法   ActiveForm::end()方法   getClientOptions()方法   其它方法:errorSummary.validate.validateMultiple 表单中的参数   表单form自身的属性

随机推荐