softcomtecnologia / mpdf
PHP 库,从 UTF-8 编码的 HTML 生成 PDF 文件
Requires
- php: ^5.6 || ^7.0 || ~8.0.0
- ext-gd: *
- ext-mbstring: *
- myclabs/deep-copy: ^1.7
- paragonie/random_compat: ^1.4|^2.0|^9.99.99
- psr/log: ^1.0
- setasign/fpdi: ^2.1
Requires (Dev)
- mockery/mockery: ^1.3.0
- mpdf/qrcode: ^1.1.0
- phpunit/phpunit: ^5.7
- squizlabs/php_codesniffer: ^3.5.0
- tracy/tracy: ^2.4
Suggests
- ext-bcmath: Needed for generation of some types of barcodes
- ext-xml: Needed mainly for SVG manipulation
- ext-zlib: Needed for compression of embedded resources, such as fonts
- dev-development
- v8.0.10
- v8.0.9
- v8.0.8
- v8.0.7
- v8.0.6
- v8.0.5
- v8.0.4
- v8.0.3
- v8.0.2
- v8.0.1
- v8.0.0
- v8.0.0-RC2
- v8.0.0-RC1
- v7.1.9
- v7.1.8
- v7.1.7
- v7.1.6
- v7.1.5
- v7.1.4
- v7.1.3
- v7.1.2
- v7.1.1
- v7.1.0
- v7.0.3
- 7.0.2
- v7.0.1
- v7.0.0
- v7.0.0-RC4
- v7.0.0-RC3
- v7.0.0-RC2
- v7.0.0-RC1
- v7.0.0-beta2
- v7.0.0-beta1
- 6.1.x-dev
- v6.1.5
- v6.1.4
- v6.1.3
- v6.1.2
- v6.1.2a
- v6.1.1
- v6.1.0
- v6.0.0
- v6.0-beta
- v5.7.4
- v5.7.4a
- v5.7.3
- v5.7.3a
- v5.7.2
- v5.7.1
- v5.7.0
- v5.6.1
- v5.5.1
- dev-test
- dev-master
- dev-remote-fetching-enhancements
- dev-php8-support
- dev-upca-lenght-validation
This package is not auto-updated.
Last update: 2024-09-28 06:24:09 UTC
README
mPDF 是一个 PHP 库,可以从 UTF-8 编码的 HTML 生成 PDF 文件。
它基于 FPDF 和 HTML2FPDF (见 CREDITS),增加了一些功能。mPDF 由 Ian Back 编写,并按照 GNU GPL v2 许可证 发布。
⚠ 如果您正在 mPDF GitHub 仓库主页或 Packagist 上查看此文件,请注意默认仓库分支是
development
,这可能不同于最后一个稳定版本。
要求
PHP 版本和扩展
mPDF >=7.0
支持PHP ^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0
PHP 7.3
自mPDF v7.1.7
起支持PHP 7.4
自mPDF v8.0.4
起支持PHP 8.0
自mPDF v8.0.10
起支持
PHP mbstring
和 gd
扩展必须加载。
对于一些高级功能,可能需要额外的扩展,例如用于输出和嵌入资源的压缩(如字体)的 zlib
,用于生成条码的 bcmath
,以及用于字符集转换和 SVG 处理的 xml
。
已知的服务器问题
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标签(而不是项目的issue tracker)。
贡献
在提交问题和pull request之前,请阅读CONTRIBUTING.md文件。
单元测试
mPDF的单元测试使用PHPUnit进行。
要开始,请在mPDF根目录下从命令行运行composer install
(您需要先安装composer)。
要执行测试,请在mPDF根目录下从命令行运行composer test
。
非常感谢您为mPDF编写单元测试提供的任何帮助。如果您愿意帮忙,请注意,位于/tests/
目录下的任何PHP文件在单元测试时都将被自动加载。