You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在HTML2PDF中仅在指定页面显示页眉或页脚

问题描述

使用以下代码通过HTML模板生成了一份跨2页的基础PDF:

$template='<page backtop="10mm" backbottom="10mm" backleft="20mm" backright="20mm">
    <page_header>
        header
    </page_header>
    <page_footer>
        footer
    </page_footer>
    <p>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br></p>
</page>';

$html2pdf=new Html2Pdf();
$html2pdf->writeHTML($template);
$html2pdf->output('test.pdf');

需求是实现第二页不显示page_header,或第一页不显示page_footer,尝试添加CSS page_header:first-child { display:none; } 但未生效,该需求基于html2pdf项目。

可行解决方案
  • 仅在最后一页显示页脚
    使用<end_last_page>标签包裹页脚内容,可实现仅文档最后一页显示页脚:
<end_last_page end_height="0">
    <page_footer>
        footer
    </page_footer>
</end_last_page>
  • 仅在第一页显示页眉
    在<page>标签中添加hideheader属性,指定要隐藏页眉的页码范围(示例中隐藏2-100页的页眉,适配不确定总页数的场景):
<page backtop="10mm" backbottom="10mm" backleft="20mm" backright="20mm" hideheader="<?php echo implode(',', range(2,100)); ?>">

内容的提问来源于stack exchange,提问作者vespino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 04:36:01