blekerfeld / mpdf
一个PHP类,用于从HTML生成支持Unicode/UTF-8和CJK的PDF文件,适用于donut
Requires
- php: ^5.6 || ~7.0.0 || ~7.1.0
- ext-gd: *
- ext-mbstring: *
- paragonie/random_compat: ^2.0
- psr/log: ^1.0
- setasign/fpdi: 1.6.*
Requires (Dev)
- mockery/mockery: ^0.9.5
- phpstan/phpstan: ^0.6.4
- 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
This package is not auto-updated.
Last update: 2024-09-29 03:20:45 UTC
README
mPDF是一个PHP库,用于从UTF-8编码的HTML生成PDF文件。
它基于FPDF和HTML2FPDF(见CREDITS),并进行了许多增强。mPDF由Ian Back编写,并使用GNU GPL v2许可证发布。
注意:如果您在mPDF GitHub仓库主页或Packagist上查看此文件,请注意默认仓库分支是
development
,这可能不同于最新稳定版。
要求
mPDF 7.0需要PHP ^5.6 || ~7.0.0 || ~7.1.0
。必须加载PHP的mbstring
和gd
扩展。
对于一些高级功能(如用于输出和嵌入资源的压缩和字体等)可能还需要其他扩展,例如zlib
、用于生成条形码的bcmath
以及用于字符集转换和SVG处理的xml
。
支持我们
请考虑通过任何价值的捐赠来支持mPDF的开发。可以在文档主页找到捐赠按钮。
安装
官方安装方法是通过composer及其packagist包mpdf/mpdf。
$ composer require blekerfeld/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用户(通常是cli
、webserver
、fpm
)的写权限(推荐模式为775
)。
<?php $mpdf = new \Mpdf\Mpdf(['tempDir' => __DIR__ . '/tmp']);
默认情况下,临时目录将位于vendor目录内,并由post_install
composer脚本设置正确的权限。
有关自定义临时目录的更多信息,请参阅Folder for temporary files部分的说明。
如果遇到问题,请参阅手册中的故障排除部分。
在线手册
在线手册可在https://mpdf.github.io/找到。
贡献
请参阅项目中的CONTRIBUTING.md文件。
单元测试
mPDF的单元测试使用PHPUnit完成。
要开始使用,请在 mPDF 根目录下通过命令行运行 composer install
(您需要先安装 composer)。
要执行测试,请在 mPDF 根目录下通过命令行运行 vendor/bin/phpunit
。
对于编写 mPDF 的单元测试,任何帮助都非常受欢迎。如果您想帮忙,请注意,任何位于 /tests/
目录下的 PHP 文件在执行单元测试时都会被自动加载。