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

如何在PHP的mPDF中启用自动分页并触发setPageNo函数?

解决mPDF动态文本自动分页与页脚页码问题

首先,mPDF默认就支持自动分页,而且内置了页码相关变量,完全不需要手动调用setPageNo()来维护页码。你的现有代码存在两个问题:一是函数内的$mpdf未传入导致变量未定义,二是手动维护页码属于重复造轮子,mPDF本身就能处理这类需求。

修正后的实现代码

<?php
// 初始化mPDF实例(若未初始化)
$mpdf = new \Mpdf\Mpdf();

// 设置全局页脚,使用mPDF内置页码变量
// {PAGENO} = 当前页码,{nb} = 总页数
$mpdf->SetFooter('Page: {PAGENO}');

// 遍历动态文本,自动处理分页逻辑
foreach($arr as $x){
    $mpdf->WriteHTML('<div style="text-align:center;">'.$x.'</div>');
}

// 输出或保存PDF文件
$mpdf->Output();
?>

关键说明

  • 自动分页:mPDF默认会在内容超出当前页面范围时自动分页,无论文本是长段落还是单行内容,都无需额外配置。如果需要强制分页,可在HTML中插入<pagebreak />标签。
  • 内置页码变量:{PAGENO}会自动同步当前页码,{nb}会获取总页数,mPDF会在分页时自动更新这些变量的值,完全不用手动计数。
  • 若需要自定义页脚样式,可直接在SetFooter()中传入HTML代码,示例:
$mpdf->SetFooter('<div style="text-align:center; font-size:10px;">Page {PAGENO} of {nb}</div>');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 09:20:19