生成 PDF 文件是许多网站的常见需求之一。PHP 是一种功能强大的编程语言,可以使您开发出高质量的 PDF 文件生成工具。现在,让我们来详细讲解如何使用 PHP 编写 PDF 文档生成器。
准备工作
在开始之前,您需要确保电脑上已经安装好 PHP 和 Apache 服务器。为了生成 PDF,我们需要安装一个名为 Dompdf 的开源库。您可以从该库的官方网站下载和安装。此外,您还需要安装好以下扩展程序:mbstring、gd、DOM 和 openssl。
编写代码
代码的主要部分有两个要素:HTML 文件和我们生成 PDF 的 PHP 脚本。
HTML 文件中包含您想要将其转换为 PDF 的内容,其中样式和标签应该与通常的 HTML 文档相同。您可以使用 Dompdf 来将 HTML 转换为 PDF。
以下是一个简单的 HTML 文件示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML to PDF</title>
<style type="text/css">
body {
font-family: Arial, sans-serif;
font-size: 14px;
}
h1 {
color: #333;
}
p {
line-height: 1.4;
}
</style>
</head>
<body>
<h1>My First PDF Document</h1>
<p>Hello World! This is HTML to PDF conversion.</p>
</body>
</html>
接下来,您需要将 HTML 文件加载到 PHP 中,并将其转换为 PDF。这可以通过以下代码实现:
<?php
require_once 'dompdf/autoload.inc.php';
use Dompdf\Dompdf;
// 创建一个 PDF 对象
$dompdf = new Dompdf();
// 加载 HTML 文件
$dompdf->loadHtml(file_get_contents('file.html'));
// 设置样式表
$dompdf->set_option('defaultFont', 'Arial');
$dompdf->setPaper('A4', 'portrait');
// 渲染 PDF 文件
$dompdf->render();
// 输出 PDF 文件
$dompdf->stream('output.pdf');
在上面的示例中,我们使用了 Dompdf 库来生成 PDF。首先,我们必须包含此库并创建一个 Dompdf 对象。接下来,我们加载 HTML 文件并使用 set_option() 方法设置字体和页面尺寸。最后,我们使用 render() 方法生成 PDF 文件,并使用 stream() 方法将其发送到浏览器。
示例演示
以下是一个基本的 PDF 文件生成示例。它使用了上面介绍的代码来将 HTML 文件转换为 PDF。
<?php
require_once 'dompdf/autoload.inc.php';
use Dompdf\Dompdf;
$html = '<html>
<head><title>My PDF Document</title></head>
<body>
<h1>My First PDF Document</h1>
<p>Hello World! This is HTML to PDF conversion.</p>
</body>
</html>';
// 创建一个 PDF 对象
$dompdf = new Dompdf();
// 加载 HTML 文件
$dompdf->loadHtml($html);
// 设置样式表
$dompdf->set_option('defaultFont', 'Arial');
$dompdf->setPaper('A4', 'portrait');
// 渲染 PDF 文件
$dompdf->render();
// 输出 PDF 文件
$dompdf->stream();
另一个示例是使用 FPDF 库生成 PDF 文件。以下是一个使用 FPDF 库并将数据从数据库中动态加载到 PDF 中的示例。
<?php
require('fpdf181/fpdf.php');
$con=mysqli_connect("localhost","username","password","database");
$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',10);
// 从数据库中加载数据
$result=mysqli_query($con,"select * from customers");
$pdf->Cell(40,10,'Customer ID');
$pdf->Cell(40,10,'First Name');
$pdf->Cell(40,10,'Last Name');
$pdf->Cell(40,10,'Email');
$pdf->Ln();
while($row=mysqli_fetch_array($result))
{
$customerId=$row['customerId'];
$firstName=$row['firstName'];
$lastName=$row['lastName'];
$email=$row['email'];
$pdf->Cell(40,10,$customerId);
$pdf->Cell(40,10,$firstName);
$pdf->Cell(40,10,$lastName);
$pdf->Cell(40,10,$email);
$pdf->Ln();
}
$pdf->Output();
?>
在上面的示例中,我们使用 FPDF 库生成 PDF 文件。我们连接到 MySQL 数据库,加载数据并将其输出到 PDF 文件中。在输出之前,我们可以设置字体和页面尺寸,并在页面上添加标题和文本。
总而言之,无论您使用哪个库,都可以很容易地生成 PDF 文件。使用以上提到的工具,您可以轻松地将您网站上的内容生成为 PDF 文件,这可以在许多场合下证明是非常有用的。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用PHP编写PDF文档生成器 - Python技术站