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

mPDF如何让WriteFixedPosHTML写入的固定HTML在所有页面显示

mPDF全页面固定位置内容实现方案

WriteFixedPosHTML 方法默认仅对调用时的当前活动页面生效,不会自动同步到所有生成页面,要实现固定HTML内容在所有PDF页展示,可选择以下两种经过验证的方案:

  • 方案1:通过全局页眉/页脚注入(优先推荐)
    mPDF的页眉、页脚机制原生支持在所有页面自动渲染,你可以把需要固定展示的内容写入全局页眉/页脚,内容支持绝对定位、文字旋转等所有HTML样式,完全可以匹配你之前的坐标设置。
    示例代码:

    // 要固定展示的内容,用绝对定位匹配你之前的坐标参数:left=10mm、top=190mm、宽度3mm、溢出可见
    $fixedHtml = '<div style="position: absolute; left: 10mm; top: 190mm; width: 3mm; overflow: visible;">
    <table border="0">
      <tr>
        <th text-rotate="90" style="font-family: Arial; font-weight: normal;">www.siteeee.com</th>
      </tr>
    </table>
    </div>';
    
    // 设置为全局页脚(也可以用SetHTMLHeader设置为页眉,不影响固定定位效果)
    $mpdf->SetHTMLFooter($fixedHtml);
    

    该方案兼容mPDF 6.x及以上所有版本,渲染性能更好,不会出现页码错位、内容漏加载的问题。

  • 方案2:注册页面生成事件回调
    如果你必须使用WriteFixedPosHTML方法实现,可以注册页面生成事件,在每一页渲染完成前自动写入固定内容,适合需要针对不同页面动态调整固定内容的场景。
    示例代码:

    // 注册页面生成回调,mPDF 7.0及以上版本支持事件机制
    $mpdf->event->addListener(
        \Mpdf\Output\Event\PageGenerated::class,
        function() use ($mpdf) {
            $mpdf->WriteFixedPosHTML(
                '<table border="0"><tr><th text-rotate="90" style="font-family: Arial;font-weight: normal;">www.siteeee.com</th></tr></table>',
                10,
                190,
                3,
                0,
                'visible'
            );
        }
    );
    

注意:如果使用低版本mPDF(6.x及以下)不支持事件机制,直接使用方案1即可,不需要额外做兼容处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 20:45:36