基于mpdf/mpdf的分支 - PHP库,用于从UTF-8编码的HTML生成PDF文件

v8.0.7 2020-07-15 09:48 UTC

README

mPDF 是一个PHP库,它可以将UTF-8编码的HTML转换为PDF文件。

它基于 FPDFHTML2FPDF (见 CREDITS),并添加了多项增强功能。mPDF 由 Ian Back 编写,并采用 GNU GPL v2 许可发布。

Latest Stable Version Build Status Total Downloads License

注意:如果您在mPDF GitHub存储库主页或Packagist上查看此文件,请注意默认存储库分支是 development,这可能与最后一个稳定版本不同。

要求

PHP版本和扩展

  • mPDF >=7.0 支持 PHP ^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0
  • PHP 7.3mPDF v7.1.7 起支持
  • PHP 7.4mPDF v8.0.4 起支持

PHP mbstringgd 扩展必须被加载。

某些高级功能可能需要额外的扩展,例如,使用 zlib 压缩输出和嵌入的资源(如字体),使用 bcmath 生成条形码或使用 xml 进行字符集转换和SVG处理。

已知的服务器问题

mPDF 与单线程服务器(如 php -S)获取外部HTTP资源时有问题。建议使用合适的服务器,如nginx (php-fpm) 或Apache。

支持我们

请考虑通过捐赠任何金额来支持mPDF的开发。可以在文档主页找到捐赠按钮

安装

官方安装方法是通过composer及其packagist包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以 application/pdf 内容类型内嵌到浏览器中。

设置 & 配置

所有 配置指令 都可以通过构造函数的 $config 参数设置。

建议通过 tempDir 配置变量设置自己的临时目录。目录必须对使用mPDF的用户具有写入权限(建议模式 775)。

警告: mPDF 将清理临时目录中的旧临时文件。请选择仅用于mPDF的专用路径。

<?php

$mpdf = new \Mpdf\Mpdf(['tempDir' => __DIR__ . '/tmp']);

默认情况下,临时目录将位于vendor目录内,并具有从 post_install composer脚本的正确权限。

有关自定义临时目录的更多信息,请参阅Folder for temporary files部分的注释。

如果遇到问题,请参阅手册中故障排除部分。

在线手册

在线手册可在https://mpdf.github.io/找到。

对于一般问题或故障排除,请使用Stack Overflow上的mpdf标签(而不是项目的问题跟踪器)。

贡献

在提交问题或拉取请求之前,请阅读CONTRIBUTING.md文件。

单元测试

mPDF的单元测试使用PHPUnit进行。

要开始,请在mPDF根目录下从命令行运行composer install(您需要先安装composer)。

要执行测试,请在mPDF根目录下从命令行运行vendor/bin/phpunit

对于编写mPDF单元测试的任何帮助都十分欢迎。如果您想帮忙,请注意,位于/tests/目录中的任何PHP文件在单元测试时都会被自动加载。