我正在使用报价软件,我使用mpdf使用HTML格式生成报价.标题由以下代码设置.
$mpdf->SetHTMLHeader($header);
$mpdf=>SetHTMLFooter($footer);
Run Code Online (Sandbox Code Playgroud)
这适用于所有页面.但我需要不同的标题到第一页.我应该如何实现它?
Yot*_*mer 15
正如您所写,SetHTMLHeader并SetHTMLFooter适用于整个文档.如果您想要第一页的不同页眉/页脚,则必须同时删除它们
$mpdf->SetHTMLHeader($header);
$mpdf->SetHTMLFooter($footer);
Run Code Online (Sandbox Code Playgroud)
这样做:
<body>标记之后放置不同的标题定义,如下所示:Run Code Online (Sandbox Code Playgroud)<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)<sethtmlpageheader name="firstpage" value="on" show-this-page="1" /> <sethtmlpageheader name="otherpages" value="on" />
这会打开两个标题,但在第一页显示"firstpage"标题.
重要的提示:
实际上有几种方法可以解决它.它们都记录在这里.我选择在这里写一个我认为最直接且易于使用的文章,但我建议您阅读文档并选择最适合您需求的文档.
小智 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)