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