ThinkPHP5+mpdf 实现富文本生成 PDF文件
时间:2022-07-24
本文章向大家介绍ThinkPHP5+mpdf 实现富文本生成 PDF文件,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
- 背景
今天在进行后台文章编辑时:
为方便文章的下载,建议在进行富文本的添加、修改时,可在规定目录下对应生成 PDF文件;
网上搜索发现,mPDF 是一个成熟的工具,也避免再造轮子咯
下面将应用于 ThinkPHP5 框架下的过程介绍下,方便道友借鉴
- 操作环境
PHP版本: 7.0.12
TP框架: ThinkPHP5.1.2
mpdf版本: v7.0.1
- 详细介绍及操作,注意参考 :mPDF 官网
①. 首先建议下载对应的版本包
- 以我为例,根据我的PHP版本,从版本库中找一个可支持的 mpdf 版本即可,鄙人选择的是 v7.0.1,那么对应的命令为:
composer require mpdf/mpdf v7.0.1
②. 核心方法实现
$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 集成的内容是很丰富的,可以根据自己的需求进行扩展; 比如:水印,页眉页脚设置,标题等等…
- 详解自动识别验证码,LSTM大显身手
- 智能算法——PageRank
- 【Go 语言社区】Golang 可变参数的使用
- 【Go 语言社区】Golang源码解读之map
- 一则报警信息所折射出来的诸多问题(r9笔记第14天)
- Java面试系列17-编程题-读取服务器字符、实现序列化、计数器、1000阶乘、n出列问题等
- tensorflow(一)windows 10 64位安装tensorflow1.4与基本概念解读tf.global_variables_initializer
- 容灾切换中的数据库宕机问题简单分析(一) (r9笔记第12天)
- Java面试系列14
- linux下搭建django记录笔记,未完稿,节后继续
- Java案例-打印图形与π
- 关于两个简单问题的分析(r9笔记第10天)
- 初步解读Golang中的接口相关编写方法
- Go语言获取Windows下文件是否隐藏
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Laravel5.1 框架模型创建与使用方法实例分析
- php实现单笔转账到支付宝功能
- PHP发送邮件确认验证注册功能示例【修改别人邮件类】
- PHP实现微信退款功能
- 从零开始玩转PerfDogService---------初探篇
- php+laravel依赖注入知识点总结
- PHP获取当前系统时间的办法小结
- Laravel 中使用简单的方法跟踪用户是否在线(推荐)
- 浅析php怎么实现爬取数据原理
- 在 Laravel 中动态隐藏 API 字段的方法
- php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
- Thinkphp 5.0实现微信企业付款到零钱
- 实现php删除链表中重复的结点
- YII分模块加载路由的实现办法
- ThinkPHP5.0框架实现切换数据库的方法分析