前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ThinkPHP5+mpdf 实现富文本生成 PDF文件

ThinkPHP5+mpdf 实现富文本生成 PDF文件

作者头像
泥豆芽儿 MT
发布2020-09-06 20:59:30
2.7K1
发布2020-09-06 20:59:30
举报
  • 背景
代码语言:javascript
复制
	今天在进行后台文章编辑时:
	为方便文章的下载,建议在进行富文本的添加、修改时,可在规定目录下对应生成 PDF文件;
	网上搜索发现,mPDF 是一个成熟的工具,也避免再造轮子咯
	下面将应用于 ThinkPHP5 框架下的过程介绍下,方便道友借鉴
  • 操作环境
代码语言:javascript
复制
PHP版本:	7.0.12
TP框架:		ThinkPHP5.1.2
mpdf版本:	v7.0.1

①. 首先建议下载对应的版本包

mpdf 扩展包链接

  • 以我为例,根据我的PHP版本,从版本库中找一个可支持的 mpdf 版本即可,鄙人选择的是 v7.0.1,那么对应的命令为:
代码语言:javascript
复制
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/”) 为了方便,鄙人直接使用了如下命令:

代码语言:javascript
复制
 chmod -R 777 vendor/mpdf
  • 如果没有做处理,很有可能出现如下的报错:

Temporary files directory “/xxxxxxxxxxxxxxxxx/vendor/mpdf/mpdf/src/Config/…/…/tmp” is not writable

④. 实现效果如下:

附录

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 附录
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档