Подтвердить что ты не робот

Как получить количество страниц в документе mPDF?

Кто-нибудь знает, как получить число сгенерированных страниц, если документ PDF с использованием библиотеки mPDF?

4b9b3361

Ответ 1

добавьте это в основной класс mPDF:

function getPageCount() {
    return count($this->pages);
}

затем добавьте html-парсер такую ​​строку:

$html = str_replace('{PAGECNT}', $this->getPageCount(), $html);

после этих действий вы можете вставить {PAGECNT} непосредственно в свой проанализированный HTML-код, чтобы получить результат. Это полезно, если вам нужно указать страницу:

Ответ 2

Я искал такую ​​же функциональность при использовании EYiiPdf (обертка для mPDF на Yii), и следующее работало как шарм:

$mPDF->setFooter('{PAGENO} / {nb}');

Я проверил источник mPDF и нашел это на mpdf.php: 1656 (версия 5.4):

function AliasNbPages($alias='{nb}') {
    //Define an alias for total number of pages
    $this->aliasNbPg=$alias;
}

Надеюсь, что это поможет!

Ответ 3

Вы можете использовать {nbpg}, например

<div align="center"><b>{PAGENO} / {nbpg}</b></div>

Ответ 4

Ответ может быть отражен в исходной документации:
http://mpdf1.com/manual/index.php?tid=314
заменяющие псевдонимы {nb} и {nbpg} для общего числа
и {PAGENO} для текущего номера страницы

Ответ 5

Если вы пытаетесь вернуть количество страниц, чтобы сохранить это в базе данных или какой-либо другой операции вне mpdf, вам легко это сделать.

После написания вашего контента:
$ Mpdf- > WriteHTML ($ HTML);

$page_count = $mpdf → page;

$mpdf- > Выход();

Ответ 6

Следите за строкой:

preg_replace('/\{DATE\s+(.*?)\}/e',"date('\\1')",$hd);

в функции mpdf.php Нижний колонтитул() Это может привести к тому, что ваш "{PAGENO}/{nb}" не будет отображаться. Просто прокомментируйте это или используйте strpos('{DATE' > -1), чтобы проверить, доступен ли он. Также вам может потребоваться добавить:

$mpdf->ignore_invalid_utf8 = true;

а также если вы не хотите нижнюю строку:

$mpdf->defaultfooterline = false;

После этих изменений разбивка на страницы работала для меня наконец.