如何在 DOM PDF 页脚中使用 html 代码?

How can I use html code in DOM PDF footer?

这就是我使用 DOMPdf 创建页脚的方式:

$canvas = $dompdf->get_canvas();
$footer = $canvas->open_object();
$w = $canvas->get_width();
$h = $canvas->get_height();
$canvas->page_text($w-85,$h-28,"footer right",'helvetica',8);
$canvas->page_text($w-320,$h-28,"Page {PAGE_NUM} of {PAGE_COUNT}",'helvetica',8);
$canvas->page_text($w-550,$h-28,"footer left", 'helvetica',8);

这在我的页脚中创建了 3 个部分,对我来说效果很好。 但我需要在每一行中集成 html 文本的可能性。我这样试过:

    $canvas->page_text($w-85,$h-28,"<b>My Company</b><br>My street<br>My city",'helvetica',8);
    $canvas->page_text($w-320,$h-28,"Page {PAGE_NUM} of {PAGE_COUNT}",'helvetica',8);
    $canvas->page_text($w-550,$h-28,"footer left", 'helvetica',8);

但是pdf中的html代码没有转换

我也试过:

$text = $dompdf->loadHtml("<b>My Company</b><br>My street<br>My city");
$canvas->page_text($w-85,$h-28,$test,'helvetica',8);

像这样什么都不加载

您不能在 DomPdf 中添加 html 代码

但您可以使用 css

             footer {
                position: fixed; 
                bottom: 0; 
                left: 0px; 
                right: 0px;
                height: 20px; 
                border-top: 1px solid #AAAAAA;
                color: #777777;
                width: 100%;
                padding: 8px 0;
                text-align: center;
            }

并在 html 正文中将您的内容放在 <footer> </footer>

工作示例:

<html>
<head>
    <style>
    @page { margin: 180px 50px; }
    #header { position: fixed; left: 0px; top: -180px; right: 0px; height: 150px; background-color: orange; text-align: center; }
    #footer { position: fixed; left: 0px; bottom: -180px; right: 0px; height: 150px; background-color: lightblue; }
    #footer .page:after { content: counter(page, upper-roman); }
    </style>
<body>
    <div id="header">
    <h1>Widgets Express</h1>
    </div>
    <div id="footer">
    <p class="page">Page </p>
    </div>
    <div id="content">
    <p>the first page</p>
    <p style="page-break-before: always;">the second page</p>
    </div>
</body>
</html>