You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP和SQL在FPDF中实现每页显示两张图片?

解决FPDF每页显示两张图片的问题

你的问题出在每次循环都调用了AddPage(),导致每一张图片都单独占一页。要实现每页两张,需要调整页面添加逻辑和图片位置:

修改后的代码

$id = $_GET['id'];
$stmti = $database->prepare("SELECT * FROM inv_images WHERE id = :id");
$stmti->bindParam(':id',$id);
$stmti->execute();
$imageList = $stmti->fetchAll();

$totalImages = count($imageList);
// 遍历图片,每两张处理一次
for ($i = 0; $i < $totalImages; $i += 2) {
    $pdf->AddPage();
    
    // 显示第一张图片(上半页)
    $pdf->Image('dealers_picture/'.$imageList[$i]['name'], 30, 30, 160, 110);
    
    // 如果还有第二张图片,显示在下半页
    if ($i + 1 < $totalImages) {
        // 调整y坐标,让图片在下方,可根据需求修改数值
        $pdf->Image('dealers_picture/'.$imageList[$i+1]['name'], 30, 150, 160, 110);
    }
}

关键说明

  • 用步长为2的for循环替代foreach,每一轮处理一页的两张图片
  • 仅在每组图片开始时调用AddPage(),避免重复创建页面
  • 第二张图片调整y坐标(示例中设为150),确保和第一张不重叠,可根据实际排版需求修改该值
  • 增加数组越界判断,避免图片总数为奇数时出现报错

内容的提问来源于stack exchange,提问作者bricas30

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 21:25:22