0

我正在尝试在 PHP 中生成一些 PDF。我发现 mPDF 通常运行良好。我遇到的一个问题是我需要能够为某些部分的偶数/奇数页设置单独的标题。我认为该功能无法正常工作。这是我的代码:

// load mPDF
// --------------------------------------------------------------------------
include('mpdf.php');
$mpdf = new mPDF();

// generate a lot of content so it spans multiple pages
// --------------------------------------------------------------------------
$i = 0;
$out = '';
while ($i < 300)
{
    $i++;
    $out .= '<p>Lorem Ipsum</p>';
}
// set html header for odd pages, write html and output
// --------------------------------------------------------------------------
$mpdf->SetHTMLHeader('ODD {PAGENO}', 'O');
$mpdf->WriteHTML($out);
$mpdf->Output();

当我运行此代码时,它会将“ODD Page 3”或它所在的任何页面...放在每一页上。不只是奇数页。出于偶数或奇数的目的,它似乎不将自然损坏的页面视为新页面,而仅将手动损坏的页面视为新页面。如果我运行AddPage()函数,它将认为下一组是偶数页。但这可能是 50 次自动分页符。

关于如何让它为实际的偶数/奇数页设置不同的标题的任何建议,而不仅仅是在手动分页符之后?

4

1 回答 1

5

你忘了写

$mpdf->mirrorMargins = 1;

这是您的工作示例

<?php
include("../mpdf.php");
$mpdf=new mPDF('utf-8','A4'); 
$mpdf->debug = true;
$mpdf->mirrorMargins = 1 ;// Use different Odd/Even headers and footers and mirror margins

// generate a lot of content so it spans multiple pages
// --------------------------------------------------------------------------
$i = 0;
$out = '';
while ($i < 300)
{
    $i++;
    $out .= '<p>Lorem Ipsum</p>';
}
// set html header for odd pages, write html and output
// --------------------------------------------------------------------------
$mpdf->SetHTMLHeader('{PAGENO}/{nb}', 'O',true);
/* Note: SetHTMLHeader() and SetHTMLFooter() without a side(2nd argument) 
       - sets ODD page header/footer only as default..so you can also write just 
$mpdf->SetHTMLHeader('{PAGENO}/{nb}'); */
$mpdf->WriteHTML($out);
$mpdf->Output();
exit;
?>

参考:

设置HTMLHeader

于 2011-07-20T21:03:45.197 回答