PHP扩展 第8章 mPDF PHP扩展 第8章 mPDF

12小时前

一、介绍

mPDF 是一个强大的PHP库,它能够将 UTF-8 编码的 HTML 内容转换为 PDF 文件。

这个库基于 FPDF 和 HTML2FPDF,由 Lan Back 开发,并在 GNU GPL v2 许可下发布。

mPDF 以其丰富的功能和灵活性,成为 PHP 开发者在生成 PDF 文件时的首选之一。

功能特点

  • 高级 CSS 支持:mPDF 支持大部分 CSS 属性,使得从网页到 PDF 的转换更加流畅

  • 图像和 HTML 内容:可以轻松地在 PDF 中嵌入图像和 HTML 内容

  • 多列布局:支持创建多列文档,类似于报纸的布局

  • 表单创建:允许在 PDF 中创建和处理表单

  • 水印和背景:可以为 PDF 页面添加水印和背景图像

系统要求

  • 必须加载 mbstring 和 gd 扩展

  • 对于一些高级特性,可能还需要 zlib、bcmath 或 xml 等扩展

二、安装

composer 安装:

composer require mpdf/mpdf

三、使用

3.1、基础使用

使用 mPDF 生成 PDF 非常简单。

以下是一个基本的使用示例:

$mpdf = new \Mpdf\Mpdf();
$s = "";
$mpdf->WriteHTML($s);
$mpdf->Output();

这段代码将在浏览器中以 application/pdf 的 Content-type 输出 PDF 文件。

3.2、HTML 文件使用

use Mpdf\Mpdf;
use Mpdf\Output\Destination;
$html = file_get_contents('./pdf01.html');
$mPdf = new Mpdf([    'autoScriptToLang' => true,    'autoLangToFont'   => true,    'useSubstitutions' => true,
]);
// 加载HTML文件
$mPdf->WriteHTML($html);
// 输出PDF文件
$mPdf->Output('./pdf01.pdf', Destination::FILE);

3.3、设置字体和纸张大小

$mPdf = new Mpdf([
    'autoScriptToLang' => true,
    'autoLangToFont'   => true,
    'useSubstitutions' => true,
    'mode' => 'UTF-8',
    'format' => 'A4',
    'default_font_size' => 16,
    'default_font' => '宋体'
]);

3.4、使用 PHP 模板文件

https://file.lulublog.cn/images/3/2025/06/d4uHyhZQQ2zVCWQYkwECEN4uQHE4Qh.jpg

use Mpdf\Mpdf;
use Mpdf\Output\Destination;

$htmlTpmFile = file_get_contents('./pdf03.html');
$search = [    '{%username%}',    '{%age%}',    '{%address%}',
];
$username = 'Tinywan';
$age = date('Y-m-d H:i:s');
$address = '浙江省杭州市西湖区梦想小镇';
$replace = [    $username,    $age,    $address,
];
// 替换模板
$html = str_replace($search, $replace, $htmlTpmFile);
$mPdf = new Mpdf([    'autoScriptToLang' => true,    'autoLangToFont' => true,    'useSubstitutions' => true,    'format' => 'A4',    'default_font_size' => 14,    'default_font' => '宋体'
]);
// 加载HTML文件
$mPdf->WriteHTML($html);
// 输出PDF文件
$mPdf->Output('./pdf03.pdf', Destination::FILE);
阅读 17