Mpdf安装及使用

1.什么是mpdf
mPDF是一个PHP类库,它由UTF-8编码的HTML生成PDF文件。它基于FPDF和HTML2FPDF ,再此基础上添加了许多功能。同时对css支持能力得到了大的提升,支持css样式的引入。
2.安装
通过官方composer下载类库包
直接在项目文件中运行命令来下载
$ composer require mpdf/mpdf在这里插入图片描述
下载完成后在vendor文件夹中回出现mpdf这个文件夹
在这里插入图片描述
为了防止生成的文件出现乱码需要修改配置文件,在src下的config中找到configvariables,

autoLangToFont
autoScriptToLang
这两项都设置为true
在这里插入图片描述
3.使用
首先在控制器中引入mpdf这个类,然后将该类实例化
在这里插入图片描述
引入mpdf类
在这里插入图片描述
实例化mpdf这个类
$mpdf = new Mpdf\Mpdf([‘utf-8’, ‘A4’, 16, ‘’, 10, 10, 15, 15]);
实例化类传入的参数是一个数组 参数内容分别是[‘编码规则’,‘纸张大小(默认是竖版,可以设置为A4-L变成横板)’,‘纸张国际标准多少开’,‘字体’,‘左边距’,‘右边距’,‘上边距’,‘下边距’,]
页脚页码设置

$footer = '
<table class="footer"><tr>
   <td width="65%"></td>
   <td width="35%">第 {PAGENO} 页</td>'.'</tr>
</table>
'

首先设置页码,然后再通过 m p d f &gt; S e t F o o t e r ( mpdf-&gt;SetFooter( footer); 将页码设置到生成的文件上
css外联样式的引入
在这里插入图片描述
通过外联将样式引入,然后将模型设置成1,表名这是样式,不需要输出,下图是模型数值代表的含义。
在这里插入图片描述
输出pdf文件(必须写exit结束,否则会出现下载正常,预览全部乱码问题)
在这里插入图片描述
其中I 是预览 D是下载 F 生成后保存到服务器 S 返回字符串,此模式下$filename会被忽视
水印设置
//文字水印
$mpdf->SetWatermarkText(‘xxx’,0.5);//参数一是文字,参数二是透明度
$mpdf->showWatermarkText = true;
$mpdf->SetWatermarkImage(图片路径,0.5);//参数一是图片的位置,参数二是透明度
$mpdf->showWatermarkImage = true;
封面设置

$header =
            '<pagefooter name="myFooter" content-right="{PAGENO}" '
            . 'footer-style="font-family:sans-serif; font-size:8pt; font-weight:normal; color:#880000;"'
            . ' footer-style-left="" line="on" />'.
//封面内容
            '
            <br><br><br><br><br><br><br><br>
            <h1 align="center" style="font-size: 50pt;font-family:serif;font-weight: bold">检     验     报     告   </h1>
            <br><br><br><h2 align="right">No:132456</h2>
            <br><br>
            <h1 align="center">样品名称:</h1><br>
            <h1 align="center">样品规格或等级:</h1><br>
            <h1 align="center">委托单位:</h1><br>
            <h1 align="center">委托类别:</h1><br>
            <br><br><br><br><br><br><br><br><br><br><br>
            <h2 align="center">中国日用化学工业研究院分析检测中心</h2><br>
            <h2 align="center">国家洗涤用品质量监督检验中心(太原)</h2><br>
            <h2 align="center">'.date("Y-m-d")
//关键代码,关联上面的<pageheader>代码,使页眉,页脚和目录生成,具体的功能,其实看字段也能猜测出,或者尝试该值看效果。这里奇偶也的页眉页脚相同,根据需求可以设置为不同的格式。
            .'<br><br><br><br>';

内容设置
$content = ‘直接放需要生成的页面’
然后拼接 $html = h e a d e r . header. content;
输出
m p d f &gt; W r i t e H T M L ( mpdf-&gt;WriteHTML( html);
$mpdf->Output(‘委托书.pdf’,“I”);
exit;

发布了41 篇原创文章 · 获赞 32 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_33482132/article/details/95302388