如果使用 mPDF 库的 PDF 文档,有人知道如何获取生成的页数吗?
问问题
33588 次
6 回答
31
在使用 EYiiPdf(Yii 上 mPDF 的包装器)时,我一直在寻找相同的功能,下面的工作就像一个魅力:
$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;
}
希望能帮助到你!
于 2013-02-20T04:50:30.737 回答
16
您可以使用{nbpg},例如
<div align="center"><b>{PAGENO} / {nbpg}</b></div>
于 2013-10-21T13:29:11.107 回答
9
如果您尝试返回页数,以便可以将其保存到数据库或 mpdf 之外的其他操作,则很容易以这种方式提取它。
编写内容后:
$mpdf->WriteHTML($html);
$page_count = $mpdf -> page;
$mpdf->Output();
于 2014-02-28T16:01:40.267 回答
6
将此添加到主 mPDF 类:
function getPageCount() {
return count($this->pages);
}
然后添加一个 html-parser 这样的字符串:
$html = str_replace('{PAGECNT}', $this->getPageCount(), $html);
在这些操作之后,您可以直接在解析的 HTML 中插入 {PAGECNT} 以获得结果。如果您需要指示页面,这很有用:
于 2012-04-26T06:39:21.733 回答
4
- 总数的替换别名{nb}和{nbpg}
- {PAGENO}表示当前页码
更新
请注意,这个答案是指 mdf library v4,这是撰写本文时的当前版本。
@aiao 的最小工作示例
<?php
$pagenumber= '<!--mpdf Page {PAGENO} of {nbpg}mpdf--> $mpdf->WriteHTML($pagenumber);
$mpdf->Output();
?>
<?php
$pagenumber= '<!--mpdf Page {PAGENO} of {nbpg}mpdf--> $mpdf->WriteHTML($pagenumber);
$mpdf->Output();
?>
于 2014-06-24T08:02:45.763 回答
0
注意线路:
preg_replace('/\{DATE\s+(.*?)\}/e',"date('\\1')",$hd);
在 mpdf.php 函数 Footer() 中可能会导致你的“{PAGENO} / {nb}”不显示。只需将其注释掉或用于strpos('{DATE' > -1)
检查它是否可用。此外,您可能需要添加:
$mpdf->ignore_invalid_utf8 = true;
如果你不想要页脚行:
$mpdf->defaultfooterline = false;
在这些更改之后,分页终于为我工作了。
于 2016-04-06T10:16:42.630 回答