jakedewitt/wqsmpdf

一个用于从HTML生成支持Unicode/UTF-8和CJK的PDF文件的PHP类

v1.0.2 2018-04-17 23:16 UTC

This package is not auto-updated.

Last update: 2024-09-19 12:56:39 UTC


README

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

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

Build Status

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

要求

mPDF 7.0需要PHP ^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0。必须加载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 标签(而不是项目的 issue 跟踪器)。

贡献

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

单元测试

mPDF 的单元测试使用 PHPUnit 完成。

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

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

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