官网URL:http://www.mpdf1.com
github:https://github.com/mpdf/mpdf
开发文档:ttps://mpdf.github.io
背景
tcpdf对于复杂的页面(例如:table)支持度有限,且对于div+css语法要求高。而mpdf一定在这方面有一定的优势,生成的pdf只有100多KB,降低我磁盘的消耗,而且生成速度还不错,中文兼容,图片兼容也还不错。
要求
- mPDF 7.0 requires PHP ^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0. PHP mbstring和gd扩展必须加载。
- 对于某些高级功能,可能需要其他扩展,例如用于压缩输出的zlib和用于生成条形码的bcmath或用于字符集转换和SVG处理的xml等嵌入式资源。
- mPDF在使用单线程服务器(如php-s)获取外部HTTP资源时遇到一些问题。推荐使用适当的服务器,如nginx(php-fpm)或Apache。
安装
官方安装方法是通过composer and its packagist package mpdf/mpdf.
# composer require mpdf/mpdf
使用
库的最简单的用法(从版本7.0开始)如下:
<?php
require_once __DIR__ . '/vendor/autoload.php';
$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML('<h1>Hello world!</h1>');
$mpdf->Output();
这将输出PDF作为应用程序/ PDF内容类型的PDF内联类型。
设置和配置
所有配置指令都可以通过构造函数的$config参数来设置。
建议通过tempDir配置变量设置自己的临时目录。对于使用mPDF(通常为cli,webserver,fpm)的用户,该目录必须具有写权限(建议使用775模式)。
$mpdf = new \Mpdf\Mpdf(['tempDir' => __DIR__ . '/tmp']);
默认情况下,临时目录将位于vendor目录中。
有关自定义临时目录的更多信息,请参阅手册中“安装和设置”一节中有关“临时文件的文件夹”的说明。
函数使用和说明
注意: 在目录下面有个examples,有很多例子可以使用。
附:TP3.2安装方法
1、下载mpdf(提取码:etdx)
2、解压至ThinkPHP\Library\Vendor (即在ThinkPHP\Library\Vendor下生成mpdf文件夹)
3、调用
//引入类库
Vendor('mpdf.mpdf');
//设置中文编码
$mpdf=new \mPDF('zh-cn','A4', 0, '宋体', 0, 0);
//html内容
$html='<h1><a name="top"></a>一个PDF文件</h1>';
$mpdf->WriteHTML($html);
$mpdf->Output();