Php 如何在mPDF文档中获取页面计数?
如果PDF文档使用mPDF库,有人知道如何获取生成的页数吗?将此添加到主mPDF类:Php 如何在mPDF文档中获取页面计数?,php,mpdf,Php,Mpdf,如果PDF文档使用mPDF库,有人知道如何获取生成的页数吗?将此添加到主mPDF类: function getPageCount() { return count($this->pages); } 然后添加一个html解析器,如字符串: $html = str_replace('{PAGECNT}', $this->getPageCount(), $html); 在这些操作之后,您可以直接在解析的HTML中插入{PAGECNT}以获得结果。这很有用,因为您需要指出一个页面
function getPageCount() {
return count($this->pages);
}
然后添加一个html解析器,如字符串:
$html = str_replace('{PAGECNT}', $this->getPageCount(), $html);
在这些操作之后,您可以直接在解析的HTML中插入{PAGECNT}以获得结果。这很有用,因为您需要指出一个页面:我在使用EYiiPdf(Yii上mPDF的包装器)时正在寻找相同的功能,下面的操作非常有用:
$mPDF->setFooter('{PAGENO} / {nb}');
我检查了mPDF的源代码,在mPDF.php:1656(版本5.4)中找到了这个:
希望有帮助 您可以使用{nbpg},如
<div align="center"><b>{PAGENO} / {nbpg}</b></div>
{PAGENO}/{nbpg}
如果您试图返回页数,以便将其保存到数据库或mpdf以外的其他操作中,则可以通过这种方式轻松获取
编写内容后:
$mpdf->WriteHTML($html);
$page_count = $mpdf -> page;
$mpdf->Output();
- 总数的替换别名{nb}和{nbpg}
- {PAGENO}当前页码
<?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();
?>
注意线路:
preg\u replace('/\{DATE\s+(.*?\})/e',DATE('\\1'),$hd)代码>
在mpdf.php函数Footer()中
这可能会导致您的“{PAGENO}/{nb}”不显示。
只需将它注释掉或使用strpos({DATE'>-1)
检查它是否可用。
此外,您可能需要添加:
$mpdf->ignore\u invalid\u utf8=true;
如果不需要页脚行:
$mpdf->defaultfooterline = false;
在这些更改之后,分页终于对我起作用了。-may帮助您将其添加到主mPDF类:函数getPageCount(){return count($this->pages);}然后添加一个html解析器,例如字符串:$html=str_replace('{PAGECNT},$this->getPageCount(),$html);在这些操作之后,您可以插入{PAGECNT}直接在你解析的HTML中得到结果。这很有用,因为你需要指出一个页面,如:“第2页,共5页”。事实上,接受的答案对我来说不起作用!!你的解决方案解决了:)我正在使用mpdf创建PDF(在Yii内),PDF是从htmls创建的,我使用了setfooter到footer的东西,但它只显示在最后一页!如何在每个页面中都显示它?$mPDF1->setfooter({DATE j-m-Y}{PAGENO}/{nb},'O|E'));这对我很有用,但只显示在最后一页上,是否可以显示在每一页的页脚上?告诉pleaze需要在哪里插入解析html?在什么函数中?@VincePettit..如何在MPDFT中创建基于html的索引这是一个非常有用的答案。如果您使用
resetpagenum
,{nbpg}
显示上次重置后的当前页码计数。如果要显示总页数,可以使用{nb}
。我已经找了很久了,在文档中查找了几个小时,终于找到了答案。非常感谢!在其他地方找不到这个!谢谢!请解释一下应该如何使用。他们如何向应用程序返回页数?即使我可以回答你的问题,OP的问题也与此无关返回应用程序中的页数。这些是替换别名,它们被放入html模板并由mdf类实例解析。这是库v4的答案,如果我没记错,请参阅年份。此库的文档丢失(可能仍然存在),很难立即找到正确的占位符名称。请包括一个MWE(最低工作示例)。你不必测试它,尽管这会很好…实例化一个对象,使用参数..etc@aiao实际上,请随意编辑我的答案。我写这个答案是因为我自己花了一些时间寻找那些占位符(事实上,我从一开始就不知道它们存在).IMHO,如果OP要问这个问题,他非常清楚如何初始化库并从html创建基本pdf。我使用的上一个版本是6,现在可能有更新的版本。我认为我们不应该花太多时间来改进这个答案。
$mpdf->defaultfooterline = false;