使用 PHP 生成 PDF 报告:库概览与代码示例

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

使用 PHP 生成 PDF 报告:开发者完整指南



创建 PDF 文档是 Web 开发中最常见的任务之一。报告、账单、证书、学习材料——这些通常需要在服务器端动态生成。PHP 提供了几个强大的库,允许您创建任意复杂度的 PDF。在本文中,我们将介绍四种流行的工具:TCPDF、FPDF、Dompdf 和 mPDF,并提供实用的代码示例。



为什么需要在 PHP 中生成 PDF?

PDF(便携式文档格式)是一种通用格式,可以在任何设备上正确显示。在像 PythonLib 这样的教育项目中,PDF 报告可用于:

  • 导出测试和考试结果
  • 创建课程结业证书
  • 生成学习指南和笔记
  • 为教师生成统计报告


流行库概览



1. TCPDF

TCPDF 是用于在 PHP 中处理 PDF 的最强大、最成熟的库之一。它支持:

  • PDF 1.7 的完整功能集
  • 嵌入字体(包括 Unicode 和西里尔字母)
  • 绘制图表、表格、二维码
  • 支持 CSS(有限)

基本使用示例:

require_once('tcpdf/tcpdf.php');

$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);$pdf->SetCreator('PythonLib');$pdf->SetAuthor('开发者');$pdf->SetTitle('测试报告');

$pdf->AddPage();$pdf->SetFont('dejavusans', '', 14);$pdf->Cell(0, 10, '你好,世界!这是一份 PDF 报告。', 0, 1, 'C');

$pdf->Output('report.pdf', 'I');


2. FPDF

FPDF 是一个轻量级、快速的库,非常适合简单的文档。其主要特点:

  • 无需外部依赖
  • 用于添加文本、图像和线条的简单 API
  • 通过附加包支持 UTF-8

创建表格示例:

require('fpdf/fpdf.php');

$pdf = new FPDF();$pdf->AddPage();$pdf->SetFont('Arial', 'B', 16);$pdf->Cell(40, 10, '姓名', 1);$pdf->Cell(40, 10, '分数', 1);$pdf->Ln();$pdf->SetFont('Arial', '', 12);$pdf->Cell(40, 10, '伊万', 1);$pdf->Cell(40, 10, '95', 1);$pdf->Output();


3. Dompdf

Dompdf 允许将 HTML+CSS 转换为 PDF。如果您已经使用模板引擎(例如 Twig),这会很方便。功能:

  • 支持 CSS 2.1 和部分 CSS3
  • 处理图像和字体
  • 与 Web 应用程序轻松集成

使用 HTML 模板的示例:

use Dompdf\\Dompdf;

$dompdf = new Dompdf();$html = '<h2 style="color:blue;">Python 课程报告</h2> <p>学生:阿列克谢,成绩:87%</p>';$dompdf->loadHtml($html, 'UTF-8');$dompdf->setPaper('A4', 'portrait');$dompdf->render();$dompdf->stream('report.pdf');


4. mPDF

mPDF 是另一个用于将 HTML 转换为 PDF 的库。它支持复杂的样式、Unicode,以及:

  • 自动生成目录
  • 水印和背景
  • 处理大量数据

使用样式表的示例:

require_once __DIR__ . '/vendor/autoload.php';

$mpdf = new \\Mpdf\\Mpdf();$mpdf->WriteHTML('<h1>统计信息</h1>

推荐