Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php FPDF SetX和SetY调用顺序错误?_Php_Fpdf - Fatal编程技术网

Php FPDF SetX和SetY调用顺序错误?

Php FPDF SetX和SetY调用顺序错误?,php,fpdf,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->S

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


这是显而易见的。查看源代码或源代码:

所以这似乎不是bug。x被重置为左边距,这是您已经注意到的。您可以使用SetXY($x,$y)代替


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

谢谢我应该在问之前查一下密码哇那是。。。真的很糟糕。一个名为SetY的方法应该对X没有影响。尤其是如果没有一个doc块告诉你这一点的话。他们添加了一个布尔值,这样你就可以禁用它,这样你就可以调用$pdf->SetY($y,false)并禁用重置X参数。我为此损失了5个小时
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;
}