在 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。我们必须确保安装库的目录应该有写权限。

我们将从 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.='
IDNameAddress
'.$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

(0)
上一篇 2025年2月19日 02:40:31
下一篇 2025年2月19日 02:40:52

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 什么是前端开发和后端开发?前端开发和后端开发哪个好

    网站无非就是前端和后端,对于刚入门的小白,对什么是前端开发和后端开发?前端开发和后端开发哪个好?并不是很清楚,下面【创想鸟】就为大家详细介绍一下前端和后端。【推荐阅读:web前端开发难学吗?web前端开发需要学什么】 一:什么是前端开发和后…

    编程技术 2025年3月12日
    200
  • web前端开发和后端开发的区别是什么

    web前端开发和后端开发的区别是:前端开发主要负责用户能看到的前端展示界面,后端开发主要负责用户不可见的逻辑功能模块。前端开发和后端开发需要掌握的技术也是不相同的,前端开发需要掌握html、css、js等技术,后端开发需要掌握php、jav…

    2025年3月12日
    200
  • 前端和后端开发在项目中的作用和协作

    在现代软件开发中,前端和后端开发起着至关重要的作用,并且二者之间的协作也至关重要。前端开发主要负责用户在浏览器中看到的界面和交互体验,而后端开发则负责处理数据、逻辑和与数据库的交互。两者密切合作,共同完成一个项目的搭建与实施。 首先,让我们…

    2025年3月8日
    200
  • 前端和后端开发的区别及联系

    前端和后端开发是构建一个完整网络应用所必不可少的两个方面,它们之间有着明显的区别,但又密切联系在一起。本文将分析前端和后端开发的区别及联系。 首先,我们来看一下前端开发和后端开发的具体定义和任务。前端开发主要负责构建用户界面和用户交互部分,…

    2025年3月8日
    200
  • 职业PHP商城开发者的十六大技能

    随着互联网的普及,电商行业蓬勃发展,职业php商城开发者也越来越受到重视。要成为一名优秀的php商城开发者,需要掌握的技能不仅仅是php语言的精通,还需要具备其他方面的知识和技能。接下来,我们将介绍职业php商城开发者的十六大技能,帮助开发…

    编程技术 2025年3月7日
    200
  • PHP中的移动应用开发

    php作为一种流行的服务器端编程语言,最初被广泛应用于web开发,但如今,php也可以在移动应用开发中发挥作用。随着移动设备的普及和人们对移动应用的需求增加,php作为一种服务器端编程语言,可以为移动应用提供一些非常有用的功能。本文将介绍p…

    编程技术 2025年3月7日
    200
  • 使用Laravel构建RESTful API:实现现代化的后端开发

    使用Laravel构建RESTful API:实现现代化的后端开发 引言:在现代的Web开发中,构建RESTful API已经成为了一种主流的方式。RESTful API提供了一种灵活、可扩展的方式,用于与前端应用、移动应用或其他第三方服务…

    2025年3月7日
    200
  • Vue与后端开发的协作经验分享

    Vue与后端开发的协作经验分享 随着前端技术的快速发展,Vue作为一种现代化的JavaScript框架,在前端开发中得到了广泛的应用。然而,Vue的使用并不仅仅局限于前端,与后端开发的协作也变得越来越紧密。在这篇文章中,我将分享一些Vue与…

    2025年3月7日
    200
  • Java后端开发:使用Java Authentication and Authorization Service进行API身份认证和授权

    java后端开发一直是企业应用开发的主流,在实际开发中,我们经常需要对api进行身份认证和授权,以保证数据和用户安全。java authentication and authorization service(jaas)就是java提供的一…

    编程技术 2025年3月7日
    200
  • Spring框架在前端和后端开发中的功能调查

    研究Spring框架在前端和后端开发中的角色 引言:随着互联网的快速发展,网站和应用程序的开发变得越来越复杂。为了简化开发流程和提高效率,许多开发人员选择使用Spring框架进行开发。Spring框架是一个轻量级的应用开发框架,可用于前端和…

    2025年3月6日
    200

发表回复

登录后才能评论