📜  dompdf 中的分页符 (1)

📅  最后修改于: 2023-12-03 15:14:47.254000             🧑  作者: Mango

DOMPDF中的分页符

DOMPDF是一个用于将HTML文档转换为PDF文件的PHP库。在生成PDF文档时,分页符是一个非常重要的元素,它可以确保PDF文档的内容被正确地分布到各个页面上。在DOMPDF中,分页符可以通过以下几种方式来实现:

1. 使用CSS属性

DOMPDF中,可以使用CSS的page-break-beforepage-break-after属性来插入分页符。

语法
page-break-before: auto|always|avoid|left|right|inherit;
page-break-after: auto|always|avoid|left|right|inherit;
参数解释
  • auto(默认值):自动插入分页符。
  • always:始终插入分页符。
  • avoid:避免插入分页符。
  • left:在左侧页面边缘插入分页符。
  • right:在右侧页面边缘插入分页符。
  • inherit:继承父元素的page-break-beforepage-break-after属性。
示例
<!DOCTYPE html>
<html>
<head>
    <style>
        .page-break {
            page-break-after: always;
        }
    </style>
</head>
<body>
    <h1>第一页的标题</h1>
    <p>这是第一页的内容。</p>
    <div class="page-break"></div>
    <h1>第二页的标题</h1>
    <p>这是第二页的内容。</p>
</body>
</html>

在上面的示例中,使用了page-break-after属性来插入一个分页符。page-break-after属性设置为always时,就可以在该元素后面插入分页符。

2. 使用PHP API

除了使用CSS属性之外,我们还可以使用DOMPDF的PHP API来插入分页符。使用PHP API可以更加精细地控制分页符的位置。

语法
$dompdf->add_page();
参数解释

该函数不接受任何参数。

示例
<?php
require_once 'dompdf/autoload.inc.php';

$html = '
<!DOCTYPE html>
<html>
<head>
</head>
<body>
    <h1>第一页的标题</h1>
    <p>这是第一页的内容。</p>
';
$dompdf = new Dompdf\Dompdf();
$dompdf->loadHtml($html);

$dompdf->addPage();

$html .= '
    <h1>第二页的标题</h1>
    <p>这是第二页的内容。</p>
</body>
</html>
';

$dompdf->loadHtml($html);
$dompdf->render();
$dompdf->stream();

在上面的示例中,调用了addPage()函数来插入一个分页符,将<h1>第二页的标题</h1>元素置于下一页。

3. 使用HTML标记

在HTML中直接插入分页符是一种非常简单的方法。DOMPDF为我们提供了一个<div class="page-break"></div>标记,用于直接插入分页符。

示例
<!DOCTYPE html>
<html>
<head>
</head>
<body>
    <h1>第一页的标题</h1>
    <p>这是第一页的内容。</p>
    <div class="page-break"></div>
    <h1>第二页的标题</h1>
    <p>这是第二页的内容。</p>
</body>
</html>

在上面的示例中,使用了<div class="page-break"></div>标记来插入一个分页符。

以上就是DOMPDF中插入分页符的三种方法。我们可以根据实际情况选择合适的方法来将内容正确地分布到各个页面上。