简体   繁体   English

PHP mPDF库无法正确对偶数/奇数页进行编号

[英]PHP mPDF library won't number even/odd pages properly

I'm trying to do some PDF generation in PHP. 我正在尝试用PHP生成一些PDF。 I found mPDF which generally has worked quite well. 我发现mPDF通常效果很好。 One problem I'm having though is that I need to be able to set separate headers for even/odd pages for some sections. 我遇到的一个问题是,我需要为某些部分的偶数/奇数页设置单独的标题。 I don't think the function is working right. 我认为该功能无法正常运行。 Here's my code: 这是我的代码:

// 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();

When I run this code it puts "ODD Page 3" or whatever page it's on... on every page. 当我运行此代码时,它将“ ODD第3页”或它在任何页面上的内容都放置在每页上。 Not just the odd pages. 不只是奇数页。 It seems to not consider naturally broken pages as new pages for the purposes of even or odd, only manually broken ones. 出于偶数或奇数目的,似乎不是自然破坏的页面被视为新页面,而只是手动破坏的页面。 If I run the AddPage() function it will consider the next group an even page. 如果我运行AddPage()函数,它将把下一组视为偶数页。 But that could be 50 auto page breaks later. 但这可能是50个自动分页符。

Any suggestions on how to get it to set different headers for actual even/odd pages, not just after manual page breaks? 关于如何使它为实际的偶数/奇数页设置不同的标题的任何建议,而不仅仅是在手动分页符之后?

your forget to write 你忘了写

$mpdf->mirrorMargins = 1;

here is your working example 这是你的工作例子

<?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;
?>

Reference: 参考:

setHTMLHeader setHTMLHeader

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM