Библиотека PHP mPDF не будет правильно нумеровать четные / нечетные страницы - PullRequest
0 голосов
/ 08 марта 2011

Я пытаюсь создать PDF-файл на PHP.Я нашел 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 3» или любую другую страницу ... на каждой странице.Не только странные страницы.Кажется, он не рассматривает естественно испорченные страницы как новые для целей четных или нечетных, только сломанные вручную.Если я запускаю функцию AddPage () , то следующая группа будет считаться четной страницей.Но это может быть 50 автоматических разрывов страниц позже.

Любые предложения о том, как настроить различные заголовки для фактических четных / нечетных страниц, а не только после разрывов страниц вручную?

1 Ответ

5 голосов
/ 21 июля 2011

Вы забыли написать

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

Справка:

setHTMLHeader

...