Php 将页面上的最后一个图像(而不是之后的图像)放置在下一页的右上角,而不是当前页的右下角

Php 将页面上的最后一个图像(而不是之后的图像)放置在下一页的右上角,而不是当前页的右下角,php,pdf,fpdf,Php,Pdf,Fpdf,似乎正在发生的是,尽管水平定位(X移动)被定义为在图像之前发生,而垂直(Y)移动应该在图像之后发生,但两者都与图像位置相关联。因此,这两个移动都是在放置图像之前评估和执行的,垂直放置会触发分页并将其放置在下一页上。您需要将图像放置与垂直定位分开 您在第10张图像后强制换页的策略是正确的,但我相信这是在已经做出分页决定之后发生的。嘿,谢谢您的评论,您的帖子帮助我将重点放在了Y轴上。我编辑了代码并为Y轴设置了一个增量,我还发现这些单元格被移动到下一页,而这些单元格中的图像实际上被渲染到了不同的位置。

似乎正在发生的是,尽管水平定位(X移动)被定义为在图像之前发生,而垂直(Y)移动应该在图像之后发生,但两者都与图像位置相关联。因此,这两个移动都是在放置图像之前评估和执行的,垂直放置会触发分页并将其放置在下一页上。您需要将图像放置与垂直定位分开


您在第10张图像后强制换页的策略是正确的,但我相信这是在已经做出分页决定之后发生的。

嘿,谢谢您的评论,您的帖子帮助我将重点放在了Y轴上。我编辑了代码并为Y轴设置了一个增量,我还发现这些单元格被移动到下一页,而这些单元格中的图像实际上被渲染到了不同的位置。我不太清楚我为什么要添加工作代码:嘿,谢谢你的评论,你的帖子帮助我把重点放在Y轴上。我编辑了代码并为Y轴设置了一个增量,我还发现这些单元格被移动到下一页,而这些单元格中的图像实际上被渲染到了不同的位置。我不完全清楚我为什么要添加工作代码:
//Build PDF
$pdf = new PDF('P','mm','Legal');
$pdf->SetAutoPageBreak(false,20);
$pdf->AddPage();

$sql    = "SELECT file FROM listing_file WHERE fk_listing_rsn = '$listing_rsn' AND status_flag IN('OK','NEW','UPDATED') AND type = 'IMAGE'";
$query  = mysql_query($sql) or die(mysql_error().$sql);
$x      = 0; // Images on x axis
$y      = 1; // Total images
$row    = 1; // Rows
$yPos   = 40; // Initialize static y position
while ($result = mysql_fetch_array($query)) {
    $image = str_replace("/var/www/html/images", "http://images.cbislands.com", $result['file']); 
    $pdf->SetY($yPos);
    if ($x == 0) {  
        $pdf->SetX(10);
        $pdf->Cell($col * 10, 10, $pdf->Image($image, $pdf->GetX(), $pdf->GetY(), $col * 10, 56), 0, 0, 'C', false );
        $pdf->Cell($col * 4);
    }
    if ($x == 1) {
        $pdf->SetX(120);
        $pdf->Cell($col * 10, 10, $pdf->Image($image, $pdf->GetX(), $pdf->GetY(), $col * 10, 56), 0, 0, 'C', false );
        $pdf->Ln();
    }
    if($y % 2 == 0) {
        if($row < 5) {
            $yPos = $yPos + 60;
            $row++;
        }
        else {
            // Reset the values
            $yPos   = 40;
            $row    = 1;
            $pdf->AddPage();
        }
    }
    $x++;
    $y++;
    if ($x == 2) {
        $x = 0;
    }
    if($y == 10) {
        $y = 1;
    }
}

$pdf->Output();