$pdf->getAliasNumPage()
将内容中的页码作为字符串获取,这不起作用。因为我正在尝试确定下一个页码。所以理论上$pdf->getAliasNumPage() + 1
;
我尝试使用$pdf->PageNo();
,但它总是返回1.如果我将其添加到页脚中
$this
和PageNo()
它可以正常工作,但在内容中。它没有。
我正在使用$content .= lines;
和
$pdf->writeHTML($content, true, 0, true, 0);
输出。
答案 0 :(得分:0)
查看documentation,getAliasNumPage()
只不过是占位符文本,最终告诉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()
。