在 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。我们必须确保安装库的目录应该有写权限。
我们将从 Mpdf() 构造函数创建一个对象,并使用 WriteHTML() 和 output() 等方法来创建 PDF。我们可以在不同的模式下输出 PDF。我们可以在 output() 方法的第二个参数中指定模式。不同的模式由 D、I、F 和 S 选项表示。选项 D 将在脚本运行后强制下载 PDF。脚本运行后,选项 I 将在浏览器中显示 PDF。同时,选项 F 将下载 PDF 保存在相对于 PHP 文件的文件夹中。最后,仅当将 output() 方法分配给变量时,选项 F 才会在浏览器中输出 pdf。
例如,我们有一个名为 phprow 的数据库,其中包含一个名为 Persons 的表。表 Persons 包含以下数据。
+----------+----------+-----------+| PersonID | Name | Address |+----------+----------+-----------+| 22 | Harry M| England || 32 | Paul P | France| +----------+----------+-----------+
登录后复制
首先,使用 require() 函数来包含 vender/autoload.php 文件。然后,创建并建立数据库连接,运行 sql 查询以从数据库中选择数据,并在 $html 变量中创建一个表。使用 . 运算符将 $html 变量与表的主体连接起来。创建一个表头为 ID、Name 和 Address 的表。然后通过从 Persons 表中检索上述数据来填充该表。
示例代码:
require('vendor/autoload.php');$con=Mysqli_connect('localhost','root','','phprow');$res=mysqli_query($con,"select * from Persons");if(mysqli_num_rows($res)>0){$html='';$html.='';while($row=mysqli_fetch_assoc($res)){$html.='';}$html.='';}
ID Name Address '.$row['PersonID'].' '.$row['Name'].' '.$row['Address'].'
登录后复制
在上面的示例中,我们将数据库中的数据存储在变量 $html 中。我们使用了 . 运算符连接所有表格元素。因此,我们准备好将 HTML 文档写入 PDF。
接下来,创建一个名为 $mpdf 的变量。使用 new 关键字将 Mpdf() 构造函数的对象分配给变量。使用 $html 变量作为对象的参数调用 WriteHTML() 函数。然后创建另一个变量 $file 来存储 PDF。将 files/ 与 time() 函数连接起来,并再次将其与 .pdf 连接起来以创建文件名。将其存储在 $file 变量中。最后,使用 $file 作为第一个参数和选项 I 作为第二个参数调用 output() 函数。
因此,我们从数据库中检索数据并使用这些数据创建了 PDF。下面的示例在 files 文件夹中创建了一个以当前时间为名称且扩展名为 .pdf 的文件。脚本运行后,PDF 将显示在浏览器中。我们可以从浏览器下载 PDF。
示例代码:
$mpdf=new MpdfMpdf();$mpdf->WriteHTML($html);$file='files/'.time().'.pdf';$mpdf->output($file,'I');
登录后复制
在 PHP 中使用 dompdf 库创建 PDF
dompdf 库也是在 PHP 中创建和下载 PDF 的一个选项。它让我们将 HTML 加载到 PDF。这个库与 mpdf 库非常相似;只是方法不同。我们将使用 loadHtml()、render() 和 stream() 等方法。我们需要使用命令 composer require dompdf/dompdf 将库下载到我们的工作目录。它将像第一种方法一样创建 vendor 文件夹以及 composer.JSON 和 composer.lock 文件。
例如,要求 vendor/autoload.php 作为程序中代码的第一行。然后编写 use 关键字以将 Dompdf 类导入为 use Dompdf/Dompdf。我们可以使用与上述方法相同的 HTML 表来加载 PDF。
require 'vendor/autoload.php';use DompdfDompdf;
登录后复制
将 HTML 存储在变量 $html 中后,创建另一个变量 $dompdf 以创建类 Dompdf 的对象。然后使用 $html 作为参数调用 loadHtml() 方法。接下来,调用 render() 函数,然后使用 $dompdf 对象调用 stream() 函数。
下面的示例将使用第一种方法中的表格创建 PDF。render() 方法将 HTML 呈现为 PDF 文件,而 stream() 方法将呈现的 HTML 输出到浏览器。因此,我们可以使用 PHP 中的 dompdf 库创建 PDF。
示例代码:
$dompdf = new Dompdf();$dompdf->loadHtml($html);$dompdf->render();$dompdf->stream();
登录后复制
以上就是在 PHP 中创建 PDF的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1630309.html