第一页的Mpdf不同标题

swa*_*ane 6 php mpdf

我正在使用报价软件,我使用mpdf使用HTML格式生成报价.标题由以下代码设置.

$mpdf->SetHTMLHeader($header);
$mpdf=>SetHTMLFooter($footer);
Run Code Online (Sandbox Code Playgroud)

这适用于所有页面.但我需要不同的标题到第一页.我应该如何实现它?

Yot*_*mer 15

正如您所写,SetHTMLHeaderSetHTMLFooter适用于整个文档.如果您想要第一页的不同页眉/页脚,则必须同时删除它们

$mpdf->SetHTMLHeader($header);
$mpdf->SetHTMLFooter($footer);
Run Code Online (Sandbox Code Playgroud)

这样做:

  1. 在PDF的HTML代码中,在<body>标记之后放置不同的标题定义,如下所示:
<htmlpageheader name="firstpage" style="display:none">
    <div style="text-align:center">First Page</div>
</htmlpageheader>

<htmlpageheader name="otherpages" style="display:none">
    <div style="text-align:center">{PAGENO}</div>
</htmlpageheader>
Run Code Online (Sandbox Code Playgroud)
  1. 像这样设置标题(仍在第一页的代码中)
<sethtmlpageheader name="firstpage" value="on" show-this-page="1" />
<sethtmlpageheader name="otherpages" value="on" />
Run Code Online (Sandbox Code Playgroud)

这会打开两个标题,但在第一页显示"firstpage"标题.

  1. 页脚也是如此.


重要的提示:

实际上有几种方法可以解决它.它们都记录在这里.我选择在这里写一个我认为最直接且易于使用的文章,但我建议您阅读文档并选择最适合您需求的文档.


小智 6

正如Yotam所说,还有其他方法来实现这一目标.如果您使用CSS来设置页面样式,像往常一样,您可能会发现@page选择器很有用.它应该是这样的:

@page {
    header: html_otherpages;
}

@page :first {
    header: html_firstpage;
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.

问候.


小智 6

紧随其后 <body>

<htmlpageheader name="firstpageheader" style="display:none">
    <div style="text-align:center"> first page header</div>
</htmlpageheader>

<htmlpagefooter name="firstpagefooter" style="display:none">
    <div style="text-align:center">first page footer</div>
</htmlpagefooter>

<htmlpageheader name="otherpageheader" style="display:none">
    <div style="text-align:center"> all page Header</div>
</htmlpageheader>

<htmlpagefooter name="otherpagesfooter" style="display:none">
    <div style="text-align:center">all page footer </div>
</htmlpagefooter>
Run Code Online (Sandbox Code Playgroud)

在 CSS 中使用以下内容:

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

@page :first {    
    header: html_firstpageheader;
    footer: html_firstpagefooter;
}
Run Code Online (Sandbox Code Playgroud)