romankobrin / mpdf
PHP库,从UTF-8编码的HTML生成PDF文件
Requires
- php: ^5.6 || ^7.0 || ~8.0.0 || ~8.1.0
- ext-gd: *
- ext-mbstring: *
- myclabs/deep-copy: ^1.7
- paragonie/random_compat: ^1.4|^2.0|9.99.99|9.99.100
- psr/log: ^1.0 || ^2.0
- setasign/fpdi: dev-master
Requires (Dev)
- mockery/mockery: ^0.9.5
- mpdf/qrcode: ^1.0.0
- phpunit/phpunit: ^5.0
- squizlabs/php_codesniffer: ^2.7.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
- v8.0.99
- v8.0.1
- v8.0.0
- v8.0.0-RC2
- v8.0.0-RC1
- dev-development / 7.x-dev
- 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.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-7.1.9_cock
- dev-8dev
- dev-test
- dev-master
This package is auto-updated.
Last update: 2024-09-18 11:55:41 UTC
README
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。
它基于FPDF和HTML2FPDF(参见CREDITS),并添加了一些增强功能。mPDF由Ian Back编写,并按照GNU GPL v2许可证发布。
注意:如果您在此文件位于mPDF GitHub存储库主页或Packagist上,请注意,默认存储库分支是
development
,可能与最后一个稳定版本不同。
要求
mPDF 7+需要PHP ^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0
。必须加载PHP mbstring
和gd
扩展。
对于一些高级功能(如使用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标签(而不是项目的issue tracker)。
贡献
在提交问题和拉取请求之前,请先阅读 CONTRIBUTING.md 文件。
单元测试
使用 PHPUnit 进行 mPDF 的单元测试。
要开始,请在 mPDF 的根目录下从命令行运行 composer install
(您需要先安装 composer)。
要执行测试,请在 mPDF 的根目录下从命令行运行 vendor/bin/phpunit
。
非常感谢任何帮助编写 mPDF 单元测试的人。如果您想帮忙,请注意,任何位于 /tests/
目录下的 PHP 文件在单元测试时都将被自动加载。