Кто-нибудь знает, как получить число сгенерированных страниц, если документ PDF с использованием библиотеки mPDF?
Как получить количество страниц в документе mPDF?
Ответ 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;
После этих изменений разбивка на страницы работала для меня наконец.