PDF 是一种常用的文档格式,广泛应用于电子书、报告、合同等场景。在网站开发中,某些情况下我们需要动态生成 PDF 文档,像是报告生成、数据导出等。本文将介绍如何通过 PHP 使用流行的 PDF 生成库——TCPDF 和 FPDF,来实现动态生成 PDF 文档的功能。
在开始之前,我们需要安装 TCPDF 或 FPDF 这两个常用的 PDF 生成库。它们都提供了丰富的功能,可以非常方便地生成 PDF 文档。以下是通过 Composer 安装这两个库的命令:
使用 TCPDF:
composer require tecnickcom/tcpdf
或使用 FPDF:
composer require setasign/fpdf
TCPDF 是一个功能强大的开源 PDF 生成库,适用于生成较为复杂的 PDF 文档。以下是一个简单的 TCPDF 使用示例:
require_once('path/to/tcpdf/tcpdf.php'); // 创建 PDF 对象 $pdf = new TCPDF(); // 设置文档属性 $pdf->SetCreator('Your Name'); $pdf->SetAuthor('Your Name'); $pdf->SetTitle('My PDF Document'); // 添加页面 $pdf->AddPage(); // 设置字体和样式 $pdf->SetFont('helvetica', '', 12); // 输出文本内容 $pdf->Cell(0, 10, 'Hello, World!', 0, 1, 'C'); // 输出图像 $pdf->Image('path/to/image.jpg', 10, 20, 50, 0, 'JPG'); // 输出链接 $pdf->WriteHTML('<a href="http://example.com">Example</a>', true, false, true, false, ''); // 输出 PDF 文档 $pdf->Output('output.pdf', 'D');
在上面的代码中,我们创建了一个 PDF 对象并设置了文档的属性。然后,我们添加了一个页面,设置了字体样式,输出了文本内容、图像以及一个链接。最后,PDF 文档会直接弹出下载窗口供用户下载。
FPDF 是另一个轻量级的 PHP PDF 生成库,虽然其功能比 TCPDF 少一些,但其简单易用,适合用于一些较为简单的 PDF 文档生成。以下是一个使用 FPDF 的示例代码:
require_once('path/to/fpdf/fpdf.php'); // 创建 PDF 对象 $pdf = new FPDF(); // 添加页面 $pdf->AddPage(); // 设置字体和样式 $pdf->SetFont('Arial', 'B', 16); // 输出文本内容 $pdf->Cell(40, 10, 'Hello, World!'); // 输出图像 $pdf->Image('path/to/image.jpg', 10, 20, 30, 0, 'JPG'); // 输出链接 $pdf->Write(10, 'For more information, visit '); $pdf->SetFont('Arial', 'U', 16); $pdf->Write(10, 'www.example.com', 'http://example.com'); // 输出 PDF 文档 $pdf->Output();
在这个示例中,我们创建了一个 PDF 对象并添加了一个页面。接着,我们设置了字体和样式,输出了文本、图像以及链接。最后,PDF 文档被直接输出到浏览器。
通过 PHP 动态生成 PDF 文档,主要依赖 TCPDF 或 FPDF 这两个库。TCPDF 提供了更多的功能和方法,适合生成复杂的 PDF 文档;而 FPDF 轻量、易用,适合快速生成简单的文档。根据你的需求,选择合适的库即可轻松实现 PDF 生成。