kvr001/mpdf

PHP 库,用于从 UTF-8 编码的 HTML 生成 PDF 文件

资助包维护!
www.paypal.me/mpdf

安装: 106

依赖项: 1

建议: 0

安全性: 0

星星: 0

关注者: 0

Forks: 1,064

V8.99.0 2021-04-08 05:08 UTC

README

mPDF 是一个 PHP 库,可以从 UTF-8 编码的 HTML 生成 PDF 文件。

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

Latest Stable Version 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 8.0mPDF v8.0.10 开始支持

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();

这将在浏览器中以 application/pdf 内容类型内联输出 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跟踪器)。

贡献

在提交问题和pull请求之前,请阅读CONTRIBUTING.md文件。

单元测试

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

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

要执行测试,请在mPDF根目录下从命令行运行composer test

对于为mPDF编写单元测试的任何帮助都将非常感激。如果您想帮忙,请注意,在单元测试时,位于/tests/目录中的任何PHP文件都将自动加载。