mPDF 如何在最后一页上抑制 Header/Footer

mPDF How to Suppress Header/Footer On LAST Page

我需要取消 PDF 文档最后一页上的 header/footer。我尝试了很多事情,但都没有成功。我的第一页和后续页面上有不同的 headers,效果很好。所以,我想要的是在我的第一个页面上有一个特定的 header,在所有后续页面上有一个不同的 header 除了最后一个没有 header.

作为测试,我尝试将最后一页上的 header 设置为与第一页上的 header 匹配。我这样设置我的命名 headers:

$mpdf->DefHTMLHeaderByName("firstpageheader",$header1);
$mpdf->DefHTMLHeaderByName("otherpageheader",$header2);

然后我像这样添加我的最后一页:

$mpdf->AddPageByArray(array(
    "even-header-name"=>"firstpageheader",
    "odd-header-name"=>"firstpageheader",
    "suppress"=>"on"
));

因此,我的完整代码部分如下所示:

$mpdf->DefHTMLHeaderByName("firstpageheader",$header1);
$mpdf->DefHTMLHeaderByName("otherpageheader",$header2);

$mpdf->WriteHTML($s); //Main document
$mpdf->AddPageByArray(array(
    "even-header-name"=>"firstpageheader",
    "odd-header-name"=>"firstpageheader",
    "suppress"=>"on"
));
$mpdf->WriteHTML($tc); //Last page

我在最后一页看到的是我定义为 "otherpageheader" 的 header。我的主文档的样式中确实有这个:

@page {  
    header: html_otherpageheader;
    footer: html_otherpagesfooter;
}

@page :first {    
    header: html_firstpageheader;
    footer: html_firstpagefooter;
}

我不知道这是否是导致问题的原因。

您 HTML 中定义的 headers 将覆盖您在添加新页面时定义的内容。

Use the <sethtmlpageheader /> tag 在最后一页的 WriteHTML() 方法中将其关闭。

<sethtmlpageheader value="-1" show-this-page="1" />