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

使用MPDF为大型HTML生成横版PDF时页眉页脚不显示如何解决

mPDF导出PDF页眉页脚不显示解决方案
  • 调整初始化页边距配置
    mPDF默认上下边距不足以容纳<h1>标签的页眉内容,会被主体内容挤压隐藏,初始化时需要显式指定上下边距,单位为毫米,可根据实际页眉页脚高度调整数值:
$mpdf = new \Mpdf\Mpdf([
    'mode' => 'utf-8',
    'orientation' => 'L',
    'margin_top' => 30, // 匹配页眉高度预留空间
    'margin_bottom' => 25, // 匹配页脚高度预留空间
]);
  • 强制指定页眉页脚生效范围
    调用SetHTMLHeader、SetHTMLFooter方法时传入第二个参数all,确保所有页面都应用配置,同时建议给页眉页脚元素加上内联样式重置默认边距,避免超出预留区域:
$mpdf->SetHTMLHeader('<h1 style="margin:0;padding:0;font-size:18px;">TEST</h1>', 'all');
$mpdf->SetHTMLFooter('<h1 style="margin:0;padding:0;font-size:18px;">TEST</h1>', 'all');
  • 排查HTML内容冲突规则
    检查传入的$html内容中是否存在@page全局规则、body全局margin设置,如果有类似@page { margin: 0; }的配置会直接覆盖mPDF的页眉页脚边距设置,需要删除这类冲突规则。

完整可用代码示例

$mpdf = new \Mpdf\Mpdf([
    'mode' => 'utf-8',
    'orientation' => 'L',
    'margin_top' => 30,
    'margin_bottom' => 25,
]);

$mpdf->SetHTMLHeader('<h1 style="margin:0;font-size:18px;">TEST</h1>', 'all');
$mpdf->SetHTMLFooter('<h1 style="margin:0;font-size:18px;">TEST</h1>', 'all');
$mpdf->WriteHTML($html);
$mpdf->Output($namePDF,'F');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:09:02