在 PHP 中创建 PDF
在 PHP 中创建 PDF 是一项非常有用的技能,可以帮助网站开发人员生成各种类型的动态 PDF 文件,如发票、报告、证书等。通过使用 PHP 中的库和扩展,开发人员可以轻松地将数据转换为 PDF 格式,并在网站上提供给用户进行下载或打印。本文将介绍如何在 PHP 中使用常见的库和扩展来创建 PDF 文件,以及一些实用的技巧和注意事项。
在 php 中使用 mpdf
库创建 PDF
我们可以使用外部库 mpdf
在 PHP 中创建 PDF。我们可以从数据库中检索数据,将它们存储在 PDF 中,然后下载 PDF。使用这个库,我们可以从 html 文档创建 PDF。HTML 文档应以 UTF-8 编码。我们可以从数据库中以 HTML 格式检索要添加到 PDF 的数据。我们可以通过命令 composer require mpdf/mpd
从项目目录下载它以使用库。该命令将在项目目录中安装 mpdf
库。将创建一个 vendor
文件,我们需要使用 require()
函数来包含位于 vendor
文件夹内的文件 autoload.php
在 PHP 中创建 PDF。我们可以从
中检索数据,将它们存储在 PDF 中,然后下载 PDF。使用这个库,我们可以从 Mpdf()
构造函数创建一个对象,并使用 WriteHTML()
和 output()
等方法来创建 PDF。我们可以在不同的模式下输出 PDF。我们可以在 output()
方法的第二个参数中指定模式。不同的模式由 D
、I
、F
和 S
选项表示。选项 D
将在脚本运行后强制下载 PDF。脚本运行后,选项 I
将在浏览器中显示 PDF。同时,选项 F
将下载 PDF 保存在相对于 PHP 文件的文件夹中。最后,仅当将 output()
方法分配给变量时,选项 F
html
composer require mpdf/mpd
从项目phprow
的数据库,其中包含一个名为 Persons
的表。表 Persons
目录下载它以使用库。该命令将在项目目录中安装
vendor
文件,我们需要使用 require()
函数来包含位于 vendor
文件夹内的文件 autoload.php
。我们必须确保安装库的目录应该有写权限。
require()
函数来包含 vender/autoload.php
文件。然后,创建并建立数据库连接,运行 sql 查询以从数据库中选择数据,并在 $html
变量中创建一个表。使用 .
运算符将 $html
变量与表的主体连接起来。创建一个表头为 ID
、Name
和 Address
的表。然后通过从 Persons
我们将从
例如,我们有一个名为
包含以下数据。$html
中。我们使用了 .
<code> <code class="sql hljs" data-lang="sql"><span style="display:flex;"><span><span style="color:#666">+</span><span style="color:#408080;font-style:italic">----------+----------+-----------+ </span></span></span><span style="display:flex;"><span><span style="color:#666">|</span><span style="color:#bbb"> </span>PersonID<span style="color:#bbb"> </span><span style="color:#666">|</span><span style="color:#bbb"> </span>Name<span style="color:#bbb"> </span><span style="color:#666">|</span><span style="color:#bbb"> </span>Address<span style="color:#bbb"> </span><span style="color:#666">|</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#666">+</span><span style="color:#408080;font-style:italic">----------+----------+-----------+ </span></span></span><span style="display:flex;"><span><span style="color:#666">|</span><span style="color:#bbb"> </span><span style="color:#666">22</span><span style="color:#bbb"> </span><span style="color:#666">|</span><span style="color:#bbb"> </span>Harry<span style="color:#bbb"> </span>M<span style="color:#bbb"></span><span style="color:#666">|</span><span style="color:#bbb"> </span>England<span style="color:#bbb"> </span><span style="color:#666">|</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#666">|</span><span style="color:#bbb"> </span><span style="color:#666">32</span><span style="color:#bbb"> </span><span style="color:#666">|</span><span style="color:#bbb"> </span>Paul<span style="color:#bbb"> </span>P<span style="color:#bbb"> </span><span style="color:#666">|</span><span style="color:#bbb"> </span>France<span style="color:#bbb"></span><span style="color:#666">|</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#666">+</span><span style="color:#408080;font-style:italic">----------+----------+-----------+ </span></span></span></code></code>
require()
函数来包含 vender/autoload.php
文件。然后,创建并建立数据库连接,运行 sql$mpdf
的变量。使用 new
关键字将 Mpdf()
构造函数的对象分配给变量。使用 $html
变量作为对象的参数调用 WriteHTML()
函数。然后创建另一个变量 $file
来存储 PDF。将 files/
与 time()
函数连接起来,并再次将其与 .pdf
连接起来以创建文件名。将其存储在 $file
变量中。最后,使用 $file
作为第一个参数和选项 I
作为第二个参数调用 output()
查询以从数据库中选择数据,并在 $html
变量中创建一个表。使用 .
运算符将 $html
变量与表的主体连接起来。创建一个表头为 ID
、Name
和 Address
的表。然后通过从 Persons
表中检索上述数据来填充该表。
示例代码:files
文件夹中创建了一个以当前时间为名称且扩展名为 .pdf
<code> <code class="php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">require</span>(<span style="color:#ba2121">'vendor/autoload.php'</span>); </span></span><span style="display:flex;"><span><span style="color:#19177c">$con</span><span style="color:#666">=</span><strong class="keylink">Mysql</strong>i_connect(<span style="color:#ba2121">'localhost'</span>,<span style="color:#ba2121">'root'</span>,<span style="color:#ba2121">''</span>,<span style="color:#ba2121">'phprow'</span>); </span></span><span style="display:flex;"><span><span style="color:#19177c">$res</span><span style="color:#666">=</span><strong class="keylink">mysql</strong>i_query(<span style="color:#19177c">$con</span>,<span style="color:#ba2121">"select * from Persons"</span>); </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span>(mysqli_num_rows(<span style="color:#19177c">$res</span>)<span style="color:#666">></span><span style="color:#666">0</span>){ </span></span><span style="display:flex;"><span><span style="color:#19177c">$html</span><span style="color:#666">=</span><span style="color:#ba2121">'<table>'</span>; </span></span><span style="display:flex;"><span><span style="color:#19177c">$html</span><span style="color:#666">.=</span><span style="color:#ba2121">'<tr><td>ID</td><td>Name</td><td>Address</td>'</span>; </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">while</span>(<span style="color:#19177c">$row</span><span style="color:#666">=</span>mysqli_fetch_assoc(<span style="color:#19177c">$res</span>)){ </span></span><span style="display:flex;"><span><span style="color:#19177c">$html</span><span style="color:#666">.=</span><span style="color:#ba2121">'<tr><td>'</span><span style="color:#666">.</span><span style="color:#19177c">$row</span>[<span style="color:#ba2121">'PersonID'</span>]<span style="color:#666">.</span><span style="color:#ba2121">'</td><td>'</span><span style="color:#666">.</span><span style="color:#19177c">$row</span>[<span style="color:#ba2121">'Name'</span>]<span style="color:#666">.</span><span style="color:#ba2121">'</td><td>'</span><span style="color:#666">.</span><span style="color:#19177c">$row</span>[<span style="color:#ba2121">'Address'</span>]<span style="color:#666">.</span><span style="color:#ba2121">'</td></tr>'</span>; </span></span><span style="display:flex;"><span>} </span></span><span style="display:flex;"><span><span style="color:#19177c">$html</span><span style="color:#666">.=</span><span style="color:#ba2121">'</table>'</span>; </span></span><span style="display:flex;"><span>} </span></span></code></code>
运算符连接所有表格元素。因此,我们准备好将 HTML 文档写入 PDF。
接下来,创建一个名为
函数。dompdf
因此,我们从数据库中检索数据并使用这些数据创建了 PDF。下面的示例在 的文件。脚本运行后,PDF 将显示在浏览器中。我们可以从浏览器下载 PDF。dompdf
库也是在 PHP 中创建和下载 PDF 的一个选项。它让我们将 HTML 加载到 PDF。这个库与 mpdf
库非常相似;只是方法不同。我们将使用 loadHtml()
、render()
和 stream()
等方法。我们需要使用命令 composer require dompdf/dompdf
将库下载到我们的工作目录。它将像第一种方法一样创建 vendor
文件夹以及 composer.<strong class="keylink">JSON</strong>
和 composer.lock
<code> <code class="php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#19177c">$mpdf</span><span style="color:#666">=</span><span style="color:#008000;font-weight:bold">new</span> \Mpdf\Mpdf(); </span></span><span style="display:flex;"><span><span style="color:#19177c">$mpdf</span><span style="color:#666">-></span><span style="color:#7d9029">WriteHTML</span>(<span style="color:#19177c">$html</span>); </span></span><span style="display:flex;"><span><span style="color:#19177c">$file</span><span style="color:#666">=</span><span style="color:#ba2121">'files/'</span><span style="color:#666">.</span>time()<span style="color:#666">.</span><span style="color:#ba2121">'.pdf'</span>; </span></span><span style="display:flex;"><span><span style="color:#19177c">$mpdf</span><span style="color:#666">-></span><span style="color:#7d9029">output</span>(<span style="color:#19177c">$file</span>,<span style="color:#ba2121">'I'</span>); </span></span></code></code>
loadHtml()
、render()
和 stream()
等方法。我们需要使用命令 composer require dompdf/dompdf
将库下载到我们的工作目录。它将像第一种方法一样创建 vendor
文件夹以及 composer.🎜JSON🎜
和 composer.lock
文件。🎜
例如,要求 vendor/autoload.php
作为程序中代码的第一行。然后编写 use
关键字以将 Dompdf
类导入为 use Dompdf/Dompdf
。我们可以使用与上述方法相同的 HTML 表来加载 PDF。
<code> <code class="php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">require</span> <span style="color:#ba2121">'vendor/autoload.php'</span>; </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">use</span> Dompdf\Dompdf; </span></span></code></code>
将 HTML 存储在变量 $html
中后,创建另一个变量 $dompdf
以创建类 Dompdf
的对象。然后使用 $html
作为参数调用 loadHtml()
方法。接下来,调用 render()
函数,然后使用 $dompdf
对象调用 stream()
函数。
下面的示例将使用第一种方法中的表格创建 PDF。render()
方法将 HTML 呈现为 PDF 文件,而 stream()
方法将呈现的 HTML 输出到浏览器。因此,我们可以使用 PHP 中的 dompdf
库创建 PDF。
示例代码:
<code> <code class="php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#19177c">$dompdf</span> <span style="color:#666">=</span> <span style="color:#008000;font-weight:bold">new</span> Dompdf(); </span></span><span style="display:flex;"><span><span style="color:#19177c">$dompdf</span><span style="color:#666">-></span><span style="color:#7d9029">loadHtml</span>(<span style="color:#19177c">$html</span>); </span></span><span style="display:flex;"><span><span style="color:#19177c">$dompdf</span><span style="color:#666">-></span><span style="color:#7d9029">render</span>(); </span></span><span style="display:flex;"><span><span style="color:#19177c">$dompdf</span><span style="color:#666">-></span><span style="color:#7d9029">stream</span>(); </span></span></code></code>
以上是在 PHP 中创建 PDF的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

这篇文章将为大家详细讲解有关PHP将行格式化为CSV并写入文件指针,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。将行格式化为CSV并写入文件指针步骤1:打开文件指针$file=fopen("path/to/file.csv","w");步骤2:将行转换为CSV字符串使用fputcsv()函数将行转换为CSV字符串。该函数接受以下参数:$file:文件指针$fields:作为数组的CSV字段$delimiter:字段分隔符(可选)$enclosure:字段引号(

这篇文章将为大家详细讲解有关PHP改变当前的umask,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP更改当前的umask概述umask是一个用于设置新创建的文件和目录的默认文件权限的php函数。它接受一个参数,这是一个八进制数字,表示要阻止的权限。例如,要阻止对新创建的文件进行写入权限,可以使用002。更改umask的方法有两种方法可以更改PHP中的当前umask:使用umask()函数:umask()函数直接更改当前umask。其语法为:intumas

这篇文章将为大家详细讲解有关PHP建立一个具有唯一文件名的文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在PHP中创建唯一文件名的文件简介在php中创建具有唯一文件名的文件对于组织和管理文件系统至关重要。唯一文件名确保不会覆盖现有文件,并便于查找和检索特定文件。本指南将介绍在PHP中生成唯一文件名的几种方法。方法1:使用uniqid()函数uniqid()函数生成一个基于当前时间和微秒的唯一字符串。此字符串可以作为文件名的基础。

这篇文章将为大家详细讲解有关PHP计算文件的MD5散列,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP计算文件的MD5散列MD5(MessageDigest5)是一种单向加密算法,可将任意长度的消息转换为固定长度的128位哈希值。它广泛用于确保文件完整性、验证数据真实性和创建数字签名。在PHP中计算文件的MD5散列php提供了多种方法来计算文件的MD5散列:使用md5_file()函数md5_file()函数直接计算文件的MD5哈希值,返回一个32个字符的

这篇文章将为大家详细讲解有关PHP返回一个键值翻转后的数组,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP键值翻转数组键值翻转是一种对数组进行的操作,它将数组中的键和值进行交换,生成一个新的数组,其中原始键作为值,原始值作为键。实现方法在php中,可以通过以下方法对数组进行键值翻转:array_flip()函数:array_flip()函数专门用于键值翻转操作。它接收一个数组作为参数,并返回一个新的数组,其中键和值已交换。$original_array=[

这篇文章将为大家详细讲解有关PHP将文件截断到给定的长度,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP文件截断简介php中的file_put_contents()函数可用于将文件截断到指定长度。截断是指删除文件末尾的部分内容,从而缩短文件长度。语法file_put_contents($filename,$data,SEEK_SET,$offset);$filename:要截断的文件路径。$data:要写入文件的空字符串。SEEK_SET:指定为文件开始处

这篇文章将为大家详细讲解有关PHP判断某个数组中是否存在指定的key,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP判断某个数组中是否存在指定的key:在php中,判断某个数组中是否存在指定的key的方法有多种:1.使用isset()函数:isset($array["key"])该函数返回布尔值,如果指定的key存在,则返回true,否则返回false。2.使用array_key_exists()函数:array_key_exists("key",$arr

这篇文章将为大家详细讲解有关PHP返回上一个Mysql操作中的错误信息的数字编码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。利用PHP返回MySQL错误信息数字编码引言在处理mysql查询时,可能会遇到错误。为了有效处理这些错误,了解错误信息数字编码至关重要。本文将指导您使用php获取Mysql错误信息数字编码。获取错误信息数字编码的方法1.mysqli_errno()mysqli_errno()函数返回当前MySQL连接的最近错误号码。语法如下:$erro
