mPDF 不在新页面上添加页眉/页脚
Posted
技术标签:
【中文标题】mPDF 不在新页面上添加页眉/页脚【英文标题】:mPDF not adding header/footer on new pages 【发布时间】:2014-06-06 09:46:15 【问题描述】:基本上,页眉和页脚只显示在第一页和我手动分页后的第一页。
但由于 html 内容过长,页眉和页脚不会显示在自然延续的任何其他页面上。 (即没有手册的地方)
<htmlpageheader name="header">Page Hader</htmlpageheader>
<htmlpagefooter name="footer"><p>Copyright <b>blablabla</b> 1999 - <?php echo date('Y') ?></p></htmlpagefooter>
页眉+页脚会显示在这个页面上
<sethtmlpageheader name="header" page="all" value="on" show-this-page="1" />
<sethtmlpagefooter name="footer" page="all" value="on" />
<p>(PDF cover)</p>
<h1>Report</h1>
页眉+页脚将显示在第一页,但不显示在后续页面
<pagebreak />
<sethtmlpageheader name="header" page="all" value="on" show-this-page="1" />
<sethtmlpagefooter name="footer" page="all" value="on" />
LONG HTML CONTENT
THAT EXCEEDS PAGE SIZE
【问题讨论】:
@page 没有解决我的问题。所以经过大量搜索后,我找到了问题的解决方案。我在这里回答了你。 【参考方案1】:你可以像这样添加@page:
@page
header: header_name;
footer: footer_name;
Using @page
Headers & Footers
希望对你有用
【讨论】:
只是为了明确一点:您不必将这些添加到 css 中,但如果出于任何其他原因您使用 @page(例如边距、填充......),那么它是必须将页眉和页脚信息放在那里。【参考方案2】:如果您在样式中使用@page,删除@page 可以解决问题。这就是我所拥有的,并且对我有用。
【讨论】:
如果您使用的是@page,请查看 Giovani Generali 的答案,因为它是针对这种情况的正确答案。【参考方案3】:这里我给你提供一个解决问题的代码sn-p。
<?php
$mpdf = new mPDF();
$mpdf->useOddEven = 1; // Use different Odd/Even headers and footers and mirror margins
// Define the Headers before writing anything so they appear on the first page
$mpdf->SetHTMLHeader('<div style="text-align: right; font-weight: bold;">My document</div>','O');
$mpdf->SetHTMLHeader('<div style="border-bottom: 1px solid #000000;">My document</div>','E');
$mpdf->SetHTMLFooter('
<table style="vertical-align: bottom; font-family: serif; font-size: 8pt; color: #000000; font-weight: bold; font-style: italic;"><tr>
<td ><span style="font-weight: bold; font-style: italic;">DATE j-m-Y</span></td>
<td align="center" style="font-weight: bold; font-style: italic;">PAGENO/nbpg</td>
<td style="text-align: right; ">My document</td>
</tr></table>
'); // Note that the second parameter is optional : default = 'O' for ODD
$mpdf->SetHTMLFooter('
<table style="vertical-align: bottom; font-family: serif; font-size: 8pt; color: #000000; font-weight: bold; font-style: italic;"><tr>
<td ><span style="font-weight: bold; font-style: italic;">My document</span></td>
<td align="center" style="font-weight: bold; font-style: italic;">PAGENO/nbpg</td>
<td style="text-align: right; ">DATE j-m-Y</td>
</tr></table>
', 'E');
$mpdf->WriteHTML('Hallo World');
$mpdf->Output();
有关更多信息,请参阅此链接。MPDF Headers and Footers
【讨论】:
以上是关于mPDF 不在新页面上添加页眉/页脚的主要内容,如果未能解决你的问题,请参考以下文章