tcpdf中心文本未完全位于中心

时间:2014-02-28 07:51:23

标签: php tcpdf

我试图将页脚文本居中

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);
}

正如您在图像中看到的那样,单元格正确定位,问题在于文本居中。

enter image description here

如果我将MultiCell更改为更直接的内容,我会得到相同的结果:

$this->SetXY(PDF_MARGIN_LEFT, $this->y);
$this->Cell(0, 0, $txt, 1, 1, 'C');

1 个答案:

答案 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);
        }
    }