Comment obtenir un compte de page dans un document mPDF?
est-ce que quelqu'un sait comment obtenir le nombre de pages générées si un document PDF utilise la bibliothèque mPDF?
6 réponses
je cherchais la même fonctionnalité tout en utilisant EYiiPdf (un wrapper pour mPDF sur Yii) et ce qui suit a fonctionné comme un charme:
$mPDF->setFooter('{PAGENO} / {nb}');
j'ai vérifié la source de mPDF et j'ai trouvé ça à mpdf.php: 1656 (version 5.4):
function AliasNbPages($alias='{nb}') {
//Define an alias for total number of pages
$this->aliasNbPg=$alias;
}
j'Espère que ça aide!
Vous pouvez utiliser {nbpg}, comme
<div align="center"><b>{PAGENO} / {nbpg}</b></div>
La réponse peut être foound dans l'original documentation:
http://mpdf1.com/manual/index.php?tid=314
remplacement alias {nb} et {nbpg} pour le nombre total
et {PAGENO} pour le numéro de page actuel
ajoutez à cela l'un des principaux mPDF de la classe:
function getPageCount() {
return count($this->pages);
}
puis ajouter un html-analyseur tels chaîne:
$html = str_replace('{PAGECNT}', $this->getPageCount(), $html);
après ces actions, vous pouvez insérer {PAGECNT} directement dans votre HTML pour obtenir le résultat. Cela est utile, vous devez indiquer une page:
si vous essayez de retourner le nombre de pages de sorte que vous pouvez sauvegarder cela dans une base de données ou une autre opération en dehors de mpdf, il est facile de le tirer de cette façon.
après avoir écrit votre contenu:
$mpdf - > WriteHTML ($html);
$page_count = $ mpdf - > page;
$ mpdf - >Output ();
Voir la ligne:
preg_replace('/\{DATE\s+(.*?)\}/e',"date('\1')",$hd);
en mpdf.pied de page de la fonction php()
Il se peut que votre "{PAGENO} / {nb}" ne soit pas affiché.
Il suffit de le commenter ou utiliser strpos('{DATE' > -1)
pour vérifier si elle est disponible.
Vous pouvez aussi avoir besoin d'ajouter:
$mpdf->ignore_invalid_utf8 = true;
et aussi, si vous ne voulez pas de ligne de pied de page:
$mpdf->defaultfooterline = false;
après ces changements, la pagination a enfin fonctionné pour moi.