Intereting Posts
Скрыть «index.php» из URL и получить параметры Facebook PHP SDK v4.0 FacebookJavaScriptLoginHelper возвращает состояние NULL Один элемент викторины на страницу (программа тестирования php / mysql) Как получить домашний каталог из скрипта PHP CLI? Забыли пароль? Скрипт PHP mysqli Почему хэш-часть URL-адреса отсутствует на стороне сервера? вложенное require_once с абсолютным путём не работает Symfony & Guard: «Токен безопасности был удален из-за исключения AccountStatusException» Радио-кнопка – Yii2-Basic-App Я не могу сортировать коллекцию продуктов по категориям id Обновление живых данных (например, индикатор выполнения) с Laravel 4 Это правильный способ использования очереди сообщений? WordPress Неустранимая ошибка: допустимый размер памяти 536870912 байт исчерпан (пытался выделить 77 байт) в wp-includes / wp-db.php в строке 1832 Невозможно добавить условие на неопределенную переменную результата в неагрегированном запросе Преобразование функции из рекурсии в итерацию

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

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

Я искал такую ​​же функциональность при использовании 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; } 

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

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

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

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

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

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

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

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

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

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

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

$ page_count = $ mpdf -> page;

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

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

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

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

$mpdf->ignore_invalid_utf8 = true;

а также, если вы не хотите нижний колонтитул:

 $mpdf->defaultfooterline = false; 

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