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

如何在TCPDF中使用指定HTML代码创建自定义页脚

TCPDF 实现HTML格式自定义页脚方案

核心实现逻辑

TCPDF 自带的默认页脚仅支持简单文本输出,要实现HTML结构的自定义页脚,只需继承TCPDF基类,重写Footer()方法,在方法内调用writeHTML()方法渲染你提供的表格代码即可。

完整可运行示例代码

<?php
// 引入TCPDF库文件,路径根据你实际项目调整
require_once('tcpdf/tcpdf.php');

// 自定义PDF类,继承TCPDF
class MyTCPDF extends TCPDF {
    // 重写页脚方法
    public function Footer() {
        // 设置页脚距离底部的位置(负数表示距离页面底部的毫米数,可根据需求调整)
        $this->SetY(-15);
        // 设置页脚字体,按需调整
        $this->SetFont('helvetica', '', 10);
        
        // 你要渲染的页脚HTML代码
        $footerHtml = <<<HTML
        <style>
        /* 可以在这里自定义页脚表格的样式 */
        .tblFooter {
            width: 100%;
            border-top: 1px solid #666;
            font-size: 10px;
        }
        .tblFooter td {
            width: 33.33%;
            text-align: center;
        }
        </style>
        <table class="tblFooter" cellpadding="5">
            <tr>
                <td>
                    Box 1
                </td>
                <td>
                    Box2
                </td>
                <td>
                    Box3
                </td>
            </tr>
        </table>
HTML;
        // 渲染HTML内容作为页脚
        $this->writeHTML($footerHtml);
    }
}

// 实例化自定义PDF类
$pdf = new MyTCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// 设置文档基础信息,按需调整
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Your Name');
$pdf->SetTitle('自定义HTML页脚示例');
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 003', PDF_HEADER_STRING);
// 关闭默认页眉(如果不需要页眉可以加这行)
// $pdf->setPrintHeader(false);

// 设置页眉页脚字体
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));

// 设置默认等宽字体
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

// 设置边距
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

// 设置自动分页
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

// 设置图片缩放比例
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

// 新增一页
$pdf->AddPage();

// 这里写PDF主体内容,示例随便写一段
$html = '<h1>PDF主体内容</h1><p>测试自定义HTML页脚效果,多页内容也会自动在每一页底部加载自定义页脚</p>';
$pdf->writeHTML($html, true, false, true, false, '');

// 输出PDF,D是下载,I是在浏览器展示,按需调整
$pdf->Output('test_footer.pdf', 'I');
?>

注意事项

  • 页脚的样式可以直接在<style>标签内自定义,包括边框、背景色、对齐方式、字体样式等,TCPDF支持大部分基础CSS语法
  • SetY(-15)的数值可以根据你的页脚高度调整,如果页脚内容多高度大,可以把数值调的更小(比如-20),同时要调整SetFooterMargin和SetAutoPageBreak的第二个参数,保证主体内容不会和页脚重叠
  • 如果不需要显示默认页眉,可以调用$pdf->setPrintHeader(false)关闭默认页眉输出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 12:36:03