似乎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();
?>
答案 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用于放置下一段,所以它总是与左侧对齐。