mpdf版本6.0 下载链接:http://www.mpdfonline/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格式,说不定图片就能加载出来了。
实现效果:
更多推荐
PHP 的pdf库mPDF6.0基本使用教程
发布评论