ghans/mpdf-laravel-wrapper

基于mpdf/mpdf修改,适用于laravel 5.*

7.0.2 2017-11-22 20:21 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。PHP 的 mbstringgd 扩展必须加载,并且需要 Laravel 5.x。

对于一些高级功能(如压缩输出和嵌入资源如字体使用 zlib,生成条形码使用 bcmath,字符集转换和 SVG 处理使用 xml)可能需要其他扩展。

mPDF 在使用单线程服务器(如 php -S)获取外部 HTTP 资源时存在一些问题。建议使用适当的 Web 服务器,如 nginx (php-fpm) 或 Apache。

支持我们

请考虑通过捐赠任何金额来支持 mPDF 的发展。捐赠按钮可以在文档的 主页 上找到。

安装

官方安装方法是通过 composer 及其 Packagist 软件包 mpdf/mpdf

$ composer require ghans/mpdf-laravel-wrapper:dev-development

对于 Laravel <5.5,在文件 config/app.php 中包含

 'providers' => [
 
 ...
  /*
          * Package Service Providers...
          */
          ...
          Mpdf\Providers\PDFServiceProvider::class,
          ...

在别名部分包含

'aliases'=>[
...
"mpdf"=> Mpdf\Providers\PDFFacade::class,
...

用法

自 7.0 版本以来,库的简单用法如下

<?php

use 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 部分的说明。

如果您遇到问题,请参阅手册中的 troubleshooting 部分。

在线手册

在线手册可在 https://mpdf.github.io/ 获得。

对于一般问题或故障排除,请使用 Stack Overflow 上的 mpdf 标签(而不是项目的 issue 跟踪器)。

贡献

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

单元测试

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

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

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

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