FPDF SetX和SetY调用命令错误?

时间:2014-04-16 12:45:44

标签: php fpdf

似乎SetX()和SetY()的顺序很重要。如您所见,示例中的第二个单元格框位于以下坐标:X:10.00125 / Y:80。实际上它应该在x = 80。首先设置Y坐标可以解决问题。这是一个错误吗?使用的PHP版本是5.3.28。

<?php
require('./fpdf/fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);

$pdf->SetY(50);
$pdf->SetX(80);
$pdf->Cell(0,5,'Coordinates: X:'.$pdf->GetX().'/Y:'.$pdf->GetY(), 1); 

$pdf->SetX(80);
$pdf->SetY(80);
$pdf->Cell(0,5,'Coordinates: X:'.$pdf->GetX().'/Y:'.$pdf->GetY(), 1); 

$pdf->Output();
?>

1 个答案:

答案 0 :(得分:10)

这很明显。查看来源或manual

function SetY($y)
{
    // Set y position and reset x
    $this->x = $this->lMargin;
    if($y>=0)
        $this->y = $y;
    else
        $this->y = $this->h+$y;
}

所以这似乎不是错误。 x被重置为左边距,你已经注意到了。你可以改用SetXY($ x,$ y)。

我认为他们想让SetY用于放置下一段,所以它总是与左侧对齐。