PHP如何使用Dompdf库将HTML转换为PDF?

来源:藏色散人 发布时间:2019-03-11 11:33:35 阅读量:1212

当我们开发大型PHP应用程序时,通常需要生成一些PDF文件。在本教程中,我们将给大家介绍使用DomPDF库将html转换为pdf的的例子。通过DomPDF库,我们可以简单地将html布局呈现为PDF文件。通过DomPDF库我们可以编写外部样式表、内联样式标签、字体大小、字体颜色等。DomPDF将帮助定制PDF文件。

所以,今天我要和大家分享一个如何使用DomPDF库使HTML布局生成PDF文件的例子。

在这个例子中,我将主要做三件事,如下:

1)设置dompdf库

2)创建index . php文件

3)创建pdf_generate.php文件

步骤1:安装和设置

在第一步,我们必须下载一个库和两个依赖的dompdf。

1) Dompdf:我们可以从GitHub下载Dompdf库,下载链接:https://github.com/dompdf/dompdf。下载后将其解压缩到根文件夹并将其重命名为“dompdf”。

2) php-font-lib:现在从GitHub下载php-font-lib,下载链接:https://github.com/PhenX/php-font-lib。下载后解压到“dompdf/lib/”文件夹,并将其重命名为“php-font-lib”。

3) php-svg-lib:最后从GitHub下载php-svg-lib,下载链接:https://github.com/PhenX/php-svg-lib。下载后解压到“dompdf/lib/”文件夹,并将其重命名为“php-svg-lib”。

步骤2:创建index.php文件

在这个步骤中,我将在根目录中创建index.php文件,在这个文件中,我使用bootstrap创建了一个简单的表单。

代码如下:

index . php

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>PHP使用Dompdf库将HTML文件转换为PDF</title>

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

</head>

<body>

 

<div class="container">

    <h2>生成PDF的信息表单</h2>

    <form action="pdf_generate.php" method="POST">

        <div class="form-group">

            <label>名称:</label>

            <input type="text" name="name" class="form-control" placeholder="输入名称" required>

        </div>

        <div class="form-group">

            <label>Email:</label>

            <input type="email" name="email" class="form-control" placeholder="输入Email" required>

        </div>

        <div class="form-group">

            <label>网址:</label>

            <input type="url" name="url" class="form-control" placeholder="输入URL" required>

        </div>

        <div class="form-group">

            <label>内容:</label>

            <textarea name="say" class="form-control" placeholder="输入内容"></textarea>

        </div>

        <div class="form-group">

            <button class="btn btn-success">生成PDF</button>

        </div>

    </form>

</div>

 

</body>

</html>

效果图如下:

11c1516bc5c5d0d19fab41685b7fd1d.png步骤3:创建pdf_generate.php文件

这里我们将获取发布的数据并生成pdf文件下载。

代码如下:

pdf_generate.php

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

<?php

require_once 'dompdf/autoload.inc.php';

 

/* 引用Dompdf命名空间*/

use Dompdf\Dompdf;

 

/* 实例化并使用dompdf类 */

$dompdf = new Dompdf();

 

$html = '<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

        <h1>欢迎来到PHP中文网</h1>

        <table class="table table-bordered">

            <tr>

                <th colspan="2">信息表</th>

            </tr>

            <tr>

                <th>名称</th>

                <td>'.$_POST['name'].'</td>

            </tr>

            <tr>

                <th>Email</th>

                <td>'.$_POST['email'].'</td>

            </tr>

            <tr>

                <th>网址</th>

                <td>'.$_POST['url'].'</td>

            </tr>

            <tr>

                <th>内容</th>

                <td>'.nl2br($_POST['say']).'</td>

            </tr>

        </table>';

 

$dompdf->loadHtml($html);

 

/* 将HTML呈现为PDF*/

$dompdf->render();

 

/*将生成的PDF输出到浏览器 */

$dompdf->stream();

相关推荐:《PHP教程


标签: PHP 环境搭建
分享:
评论:
你还没有登录,请先