在 PHP 中生成 PDF 文件,有几种流行的库和框架可以帮助你完成这个任务。其中一些流行的库包括 FPDF、TCPDF、Dompdf 和 Mpdf。每个库都有其特点和适用场景,下面我将详细介绍如何使用 FPDF 和 Dompdf 来生成 PDF 文件。
1. 使用 FPDF
FPDF(Free PDF)是一个用 PHP 编写的类,允许你生成 PDF 文件。它提供了一组简单的函数来构建 PDF 文档的各个部分,如页眉、页脚、文本、图形和图像等。
安装 FPDF
你可以通过 Composer 来安装 FPDF,或者直接从 FPDF 官网 下载源码并包含到你的项目中。
示例代码
require('fpdf.php');
class PDF extends FPDF
{
// 页眉
function Header()
{
// Logo
$this->Image('logo.png',10,6,30);
// Arial bold 15
$this->SetFont('Arial','B',15);
// 移动到右侧
$this->Cell(80);
// 标题
$this->Cell(30,10,'标题',1,0,'C');
// 线条
$this->Ln(20);
}
// 页脚
function Footer()
{
// 位置
$this->SetY(-15);
// Arial italic 8
$this->SetFont('Arial','I',8);
// 页码
$this->Cell(0,10,'页面 '.$this->PageNo().'/{nb}',0,0,'C');
}
// 页面内容
function ChapterBody($num)
{
// 添加文本
for($i=1;$i<=$num;$i++)
$this->Cell(0,10,'这是第 '.$i.' 行',0,1);
}
// 主函数
function Chapter1()
{
$this->SetFont('Times','',12);
$this->ChapterBody(20);
}
}
// 创建 PDF 实例
$pdf = new PDF();
$pdf->AddPage();
$pdf->Chapter1();
$pdf->Output();
2. 使用 Dompdf
Dompdf 是一个基于 HTML 的 PDF 生成器,它能够将 HTML 和 CSS 转换成 PDF 文件。这意味着你可以使用 PHP 来生成 HTML 内容,然后使用 Dompdf 来将其转换为 PDF。
安装 Dompdf
你可以通过 Composer 来安装 Dompdf:
composer require dompdf/dompdf
示例代码
<?php
require_once "vendor/autoload.php";
use Dompdf\Dompdf;
// HTML 内容
$html =
'<html><body>'.
'<h1>Welcome to my PDF!</h1>'.
'<p>This is a paragraph with <strong>bold</strong> and <em>italic</em> text.</p>'.
'</body></html>';
// 实例化并加载 HTML
$dompdf = new Dompdf();
$dompdf->loadHtml($html);
// (可选) 设置纸张大小和方向
$dompdf->setPaper('A4', 'portrait');
// 渲染 PDF
$dompdf->render();
// 输出 PDF 到浏览器
$dompdf->stream("sample.pdf");
总结
FPDF 和 Dompdf 是 PHP 中生成 PDF 文件的两种流行方法。FPDF 提供了丰富的函数来直接操作 PDF 文档的结构,而 Dompdf 则利用 HTML 和 CSS 来生成 PDF,这对于熟悉 Web 开发的开发者来说可能更加直观。根据你的具体需求(如是否需要复杂的布局或是否更喜欢使用 HTML/CSS)来选择最适合你的库。