2014-04-16 3 views
3

SetX()와 SetY()의 순서가 중요해 보입니다. 보시다시피 예제의 두 번째 셀 상자는 X : 10.00125/Y : 80 좌표에 있습니다. 사실 x = 80이어야합니다. 먼저 Y 좌표를 설정하면 문제가 해결됩니다. 그게 버그 야? 사용 된 PHP 버전은 5.3.28입니다.FPDF SetX 및 SetY 호출 순서 버그?

<?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(); 
?> 

답변

8

이것은 분명합니다. 소스 또는 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가 다음 단락 배치에 사용되기를 원했기 때문에 항상 왼쪽으로 정렬되어 있다고 생각합니다.

+0

감사합니다. - 묻기 전에 코드를 조사 했어야합니다. – Thorsten

+4

와우, 그건 ... 정말 대단하다. SetY라는 메소드는 X에 아무런 영향을 미치지 않아야한다. 특히 당신에게 알려주는 문서 블록이 없다면 말이다. – GordonM