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

Dompdf生成PDF时嵌入图片无法显示的问题咨询

Dompdf生成PDF时图片不显示修复方案

问题现象

Dompdf生成PDF图片不显示截图

你已尝试修改chroot配置、启用GD扩展、切换Dompdf版本均未解决,核心原因是代码存在标签语法错误、配置项写法错误、路径拼接错误三类问题,对应修复方式如下:

  • 修正HTML img标签语法错误
    现有img标签存在多处语法问题:
    1. 第一个img标签中<?php $_SERVER['DOCUMENT_ROOT']; ?>没有使用echo输出,不会返回任何路径内容;src属性末尾多了空格,还错误将img关键词写在src引号外部,属性顺序混乱
    2. 第二个img标签重复写了img关键词,属于无效语法
    3. 路径拼接时没有加目录分隔符/,$_SERVER['DOCUMENT_ROOT']末尾默认不带斜杠,直接拼接文件名会生成类似/var/www/htmlbaner1.png的错误路径
      修正后的img标签代码:
    <!-- 第一个banner图 -->
    <img width="1170" height="150" src="<?php echo $_SERVER['DOCUMENT_ROOT'] . '/baner1.png'; ?>">
    
    <!-- 第二个banner图 -->
    <img width="1200" height="150" src="<?php echo $_SERVER['DOCUMENT_ROOT'] . '/baner2.png'; ?>">
    
  • 修正Dompdf配置项
    你之前设置的$chrootValid = true是无效配置,Dompdf没有这个配置项。要允许Dompdf读取本地图片文件,需要在options中正确配置chroot参数,指向你站点的根目录,给Dompdf开放对应目录的读取权限:
    require_once 'dompdf/autoload.inc.php';
    use Dompdf\Dompdf;
    $Dompdf = new Dompdf();
    
    $options = $Dompdf->getOptions();
    $options->set(array(
        'isRemoteEnabled' => true,
        'chroot' => $_SERVER['DOCUMENT_ROOT'] // 配置允许Dompdf访问的本地文件根目录
    ));
    $Dompdf->setOptions($options);
    
  • 兜底兼容方案
    如果按上述步骤修改后还是无法加载图片,可以直接将图片转为base64编码嵌入HTML,完全绕开路径、权限类的加载问题,实现代码:
    <?php
    // 处理第一张banner
    $b1Path = $_SERVER['DOCUMENT_ROOT'] . '/baner1.png';
    $b1Mime = mime_content_type($b1Path);
    $b1Data = 'data:' . $b1Mime . ';base64,' . base64_encode(file_get_contents($b1Path));
    
    // 处理第二张banner
    $b2Path = $_SERVER['DOCUMENT_ROOT'] . '/baner2.png';
    $b2Mime = mime_content_type($b2Path);
    $b2Data = 'data:' . $b2Mime . ';base64,' . base64_encode(file_get_contents($b2Path));
    ?>
    <!-- 页面中引用 -->
    <img width="1170" height="150" src="<?php echo $b1Data; ?>">
    <img width="1200" height="150" src="<?php echo $b2Data; ?>">
    

额外排查提示:Linux服务器下文件名大小写敏感,需要确认代码中写的baner1.png/baner2.png和服务器上实际的文件名完全一致,同时PHP运行进程对这两个文件有读取权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 12:45:31