- 背景
今天在进行后台文章编辑时:
为方便文章的下载,建议在进行富文本的添加、修改时,可在规定目录下对应生成 PDF文件;
网上搜索发现,mPDF 是一个成熟的工具,也避免再造轮子咯
下面将应用于 ThinkPHP5 框架下的过程介绍下,方便道友借鉴
- 操作环境
PHP版本: 7.0.12
TP框架: ThinkPHP5.1.2
mpdf版本: v7.0.1
- 详细介绍及操作,注意参考 :mPDF 官网
①. 首先建议下载对应的版本包
【mpdf 扩展包链接】
- 以我为例,根据我的PHP版本,从版本库中找一个可支持的 mpdf 版本即可,鄙人选择的是 v7.0.1,那么对应的命令为:
composer require mpdf/mpdf v7.0.1
②. 核心方法实现
代码语言:javascript复制 $mpdf = new Mpdf(['mode'=>'utf-8','format' => 'A4',]);
$mpdf->SetDisplayMode('fullpage');
//自动分析录入内容字体
$mpdf->autoScriptToLang = true;
$mpdf->autoLangToFont = true;
// 自定义文章pdf文件存储路径
$fileUrl = "upload/article_files/article_".$id.".pdf";
//默认 以html为标准分析写入内容
$mpdf->WriteHTML($content);
// 文件生成指令
$mpdf->Output($fileUrl);
③. 对于 Linux/Nginx
环境下,需要更改 mpdf
目录下的写权限 (“src/”、“tmp/”、“ttfonts/”)
为了方便,鄙人直接使用了如下命令:
chmod -R 777 vendor/mpdf
- 如果没有做处理,很有可能出现如下的报错:
Temporary files directory “/xxxxxxxxxxxxxxxxx/vendor/mpdf/mpdf/src/Config/…/…/tmp” is not writable
④. 实现效果如下:
附录
- 1.mPDF - 临时文件目录…不可写
- 2.推荐文章——mPDF的简单使用
- 毕竟 mPDF 集成的内容是很丰富的,可以根据自己的需求进行扩展; 比如:水印,页眉页脚设置,标题等等…