我试图将页脚文本居中
function Footer(){
$txt = 'Page %s of %s';
if (empty($this->pagegroups)) {
$txt = sprintf($txt, $this->getAliasNumPage(), $this->getAliasNbPages());
} else {
$txt = sprintf($txt, $this->getPageNumGroupAlias(), $this->getPageGroupAlias());
}
$this->MultiCell(0, 0, $txt, 1, 'C', false, 1, PDF_MARGIN_LEFT, $this->y);
}
正如您在图像中看到的那样,单元格正确定位,问题在于文本居中。
如果我将MultiCell更改为更直接的内容,我会得到相同的结果:
$this->SetXY(PDF_MARGIN_LEFT, $this->y);
$this->Cell(0, 0, $txt, 1, 1, 'C');
答案 0 :(得分:1)
不知何故getAliasNumPage()
和getPageNumGroupAlias()
在右边添加了一堆空格。我不确定为什么。但我知道使用PageNo()
和getGroupPageNo()
代替修复它。
这是对我有用的代码:
public function Footer() {
$this->SetY(-15); //not present in your code but was necessary for me to have the footer be positioned correctly
$txt = 'Page %s of %s';
if (empty($this->pagegroups)) {
$txt = sprintf($txt, $this->PageNo(), $this->getAliasNbPages());
} else {
$txt = sprintf($txt, $this->getGroupPageNo(), $this->getPageGroupAlias());
}
$this->MultiCell(0, 0, $txt, 1, 'C', false, 1);
}
}