DomPDF 简介:它是什么以及为什么需要它
\n\nDomPDF 是一个功能强大且流行的 PHP 语言库,用于从 HTML 标记生成 PDF 文档。该库的核心思想是让开发者能够使用熟悉的网页布局技术(HTML、CSS 和有限的 JavaScript)创建 PDF 文件。无需学习复杂的底层 PDF API(如 FPDF 或 TCPDF),您只需编写 HTML 模板,使用 CSS 进行样式设计,然后将其交给 DomPDF 进行转换即可。
\n\n该库使用基于 DOMPDF(因此得名)的渲染引擎,解析 HTML 和 CSS,创建页面的视觉表示,然后将其导出为 PDF 格式。DomPDF 支持大多数标准 CSS 属性,包括定位、浮动、flexbox(部分支持)、字体、图像和表格处理。
\n\n为什么需要这个库?
\n- \n
- 报表自动化: 基于数据库数据创建发票、凭证、运单、商业提案。 \n
- 证书和文凭生成: 快速导出带有唯一数据(姓名、日期、课程)的个性化文档。 \n
- 电子书和手册创建: 将 HTML 内容转换为格式良好的 PDF 以供下载。 \n
- 网页保存: 为网站上的任何内容提供“另存为 PDF”功能。 \n
- 与 CMS 集成: WordPress、Laravel、Symfony 等框架广泛使用 DomPDF 生成文档。 \n
DomPDF 相对于同类产品的主要优势在于其易用性。如果您了解 HTML 和 CSS,您就已经掌握了 DomPDF 80% 的使用方法。
\n\n安装 DomPDF
\n\n在现代 PHP 项目中安装 DomPDF 是通过依赖管理器 Composer 完成的。这是 PHP 库的标准方式。
\n\n请确保您已安装 Composer。然后在项目根目录下执行以下命令:
\n\ncomposer require dompdf/dompdf\n\n安装成功后,您的项目中会出现一个 vendor 文件夹,并且 composer.json 文件中会添加一行依赖项。如果您使用框架(Laravel、Symfony),安装过程可能略有不同(例如通过服务提供者),但基本命令保持不变。
重要提示: DomPDF 需要 PHP 7.1 或更高版本。还建议安装 PHP 扩展 mbstring,以便正确处理多字节编码(UTF-8)。
要验证安装,请创建一个 test.php 文件并添加以下代码:
<?php\nrequire_once 'vendor/autoload.php'; // 引入 Composer 自动加载器\n\nuse Dompdf\\Dompdf;\n\n$dompdf = new Dompdf();\n$dompdf->loadHtml('<h1>Hello World</h1>');\n$dompdf->render();\n$dompdf->stream("test.pdf");\n\n?>\n\n如果在浏览器中打开该文件时下载了一个包含“Hello World”字样的 PDF,则说明安装成功。
\n\n快速入门:您的第一个 PDF 文档
\n\n让我们创建一个简单但完整的示例。我们将生成一个包含表格和样式的 PDF 文件。
\n\n<?php\nrequire_once 'vendor/autoload.php';\n\nuse Dompdf\\Dompdf;\nuse Dompdf\\Options;\n\n// 1. 配置选项(可选)\n$options = new Options();\n$options->set('defaultFont', 'DejaVu Sans'); // 支持西里尔字母的字体\n$options->set('isRemoteEnabled', true); // 允许加载外部图像\n\n// 2. 创建 Dompdf 实例\n$dompdf = new Dompdf($options);\n\n// 3. HTML 内容\n$html = '\n<!DOCTYPE html>\n<html>\n<head>\n <style>\n body { font-family: DejaVu Sans, sans-