PHP 的pdf库mPDF6.0基本使用教程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012063507/article/details/70685149

mpdf版本6.0 下载链接:http://www.mpdfonline.com/repos/MPDF_6_0.zip

目录,封面,页眉,页脚,页码的设计


$header =
//页眉设置
 '<pageheader name="myHeader" content-left="" content-center="xxxx报告" content-right="{DATE Y-m-d}" '
        . 'header-style="font-family:sans-serif; font-size:8pt;color:#880000;" '
        . 'header-style-right="font-size:8pt; font-weight:normal; font-style:italic;color:#880000;" line="on" />'.
//页脚设置
        '<pagefooter name="myFooter" content-left="" content-center="xxxxxx平台" content-right="{PAGENO}" '
        . 'footer-style="font-family:sans-serif; font-size:8pt; font-weight:normal; color:#880000;"'
        . ' footer-style-left="" line="on" />'.
//封面内容
        '<h1 align="center">xxxxx平台</h1><h2 align="right">xxxx报告</h2>
            <br><br><br><br><br>
        <h2 align="right">创建者:'.$userName.'</h2>'.'<h2 align="right">创建日期:'.date("Y-m-d H:i:s")
//关键代码,关联上面的<pageheader>代码,使页眉,页脚和目录生成,具体的功能,其实看字段也能猜测出,或者尝试该值看效果。这里奇偶也的页眉页脚相同,根据需求可以设置为不同的格式。     
 . '<tocpagebreak  font="mono" font-size="16"  paging="on" links="on" 
resetpagenum="1" pagenumstyle="1"
odd-header-name="myHeader" odd-header-value="on" even-header-name="myHeader" even-header-value="on" 
odd-footer-name="myFooter" odd-footer-value="on" even-footer-name="myFooter" even-footer-value="on"  
toc-odd-header-name="myHeader" toc-odd-header-value="on" toc-even-header-name="myHeader" 
toc-even-header-value="on" toc-odd-footer-name="" toc-odd-footer-value="on" toc-even-footer-name="" toc-even-footer-value="on"
toc-preHTML="<h1 align="center">目 录</h1>" />';//使用转义符号<==<    >==> ,即写入的html代码要用转义符号
$content = 'blablabla....';
$html = $header.$content;
//引入mpdf类
include("D:/www/websafe/mpdf60/mpdf.php");

//字段含义按顺序分别为:
//$mode,$format,默认字体大小,默认字体,左页边距25(默认),右页边距(25),上页边距16,下页边距16,mgh:16,mgf:13,orientation
$mpdf=new mPDF('utf-8','A4','','',25,25,16,16); //'utf-8' 或者 '+aCJK' 或者 'zh-CN'都可以显示中文
//设置字体,解决中文乱码
$mpdf -> useAdobeCJK = TRUE;
$mpdf ->autoScriptToLang = true;
$mpdf -> autoLangToFont = true;
//$mpdf-> showImageErrors = true; //显示图片无法加载的原因,用于调试,注意的是,我的机子上gif格式的图片无法加载出来。
//设置pdf显示方式
$mpdf->SetDisplayMode('fullpage');
//目录相关设置:
//Remember bookmark levels start at 0(does not work inside tables)H1 - H6 must be uppercase
//$this->h2bookmarks = array('H1'=>0, 'H2'=>1, 'H3'=>2);
$mpdf->h2toc = array('H3'=>0,'H4'=>1,'H5'=>2);
$mpdf->h2bookmarks = array('H3'=>0,'H4'=>1,'H5'=>2);
$mpdf->mirrorMargins = 1;
//是否缩进列表的第一级
$mpdf->list_indent_first_level = 0;

//导入外部css文件:
$stylesheet1 = file_get_contents(CSS_PATH.'target.css');
$mpdf->WriteHTML($stylesheet1,1);
$mpdf->WriteHTML($html);  //$html中的内容即为变成pdf格式的html内容。
$fileName = 'XXXX报告.pdf';
//输出pdf文件
$mpdf->Output($fileName,'I'); //'I'表示在线展示 'D'则显示下载窗口
exit;

需要注意的是:
1.我下载的mpdf6.0里面的svg.php源文件有误,位置在mpdf60/classes/下,第2711行:将break改成return;
2.mpdf的其他功能可以直接看它的函数声明,有讲解参数的功能,或者看它的官方手册;
3.mpdf60/examples下提供了很多的实例,可以看里面的样例,实现自己想要的功能;
4.关于图片加载不出来,可以使用上面提到的图片调试代码,看错误原因;也有可能像我的情况一样,不支持.gif格式的图片显示,也有可能有些图片显示是.jpg后缀,但其实是
.gif格式,这个时候用画图工具打开再另存为.jpg格式,说不定图片就能加载出来了。
实现效果:


阅读更多

没有更多推荐了,返回首页