TCPDF页码为int

时间:2018-02-16 13:48:20

标签: php tcpdf

$pdf->getAliasNumPage()将内容中的页码作为字符串获取,这不起作用。因为我正在尝试确定下一个页码。所以理论上$pdf->getAliasNumPage() + 1;

我尝试使用$pdf->PageNo();,但它总是返回1.如果我将其添加到页脚中 $thisPageNo()它可以正常工作,但在内容中。它没有。

我正在使用$content .= lines;

$pdf->writeHTML($content, true, 0, true, 0);

输出。

1 个答案:

答案 0 :(得分:0)

查看documentationgetAliasNumPage()只不过是占位符文本,最终告诉TCPDF编译器显示当前页码。您只能使用此功能在PDF中显示当前页码,并且不能用于您尝试添加的逻辑。

试一试:

echo $pdf->getAliasNumPage();
die();

对于PageNo(),文档确实说它返回一个整数, HOWEVER 只有当您不使用writeHTML()创建PDF时,才会更新此整数。在您自己调用AddPage()方法后,此整数仅会递增。

原因在于,在构建HTML时,PageNo()会立即执行,并始终位于第1页。 writeHTML()函数不知道您是否尝试将PageNo()用作表达式,因为整数已存在于$content中。

由于$content将呈现为可变高度的内容块,因此TCPDF会根据需要将其溢出到新页面上,PageNo()生成的整数将始终相同。

为了使TCPDF以您尝试使用它的方式工作,TCPDF必须提供一个表达式占位符,编译器将能够理解和评估它。

对于页脚,PageNo()有效,因为页脚功能是根据需要调用的。

来自文档:

  

页脚()

     

此方法用于呈现页脚。 由AddPage()自动调用,可以在您自己的继承类中覆盖。

粗体部分解释了为什么PageNo()实际上在页脚中按预期增加。这同样适用于Header()