
本文详解 DomPDF v2.0.3 中图片无法显示的常见原因及解决方案,重点介绍使用 $_SERVER['DOCUMENT_ROOT'] 构建绝对路径的可靠方法,并提供可直接运行的修复代码与关键配置说明。
本文详解 dompdf v2.0.3 中图片无法显示的常见原因及解决方案,重点介绍使用 `$_server['document_root']` 构建绝对路径的可靠方法,并提供可直接运行的修复代码与关键配置说明。
在使用 DomPDF(尤其是 v2.0.3)生成 PDF 时,图片(如 PNG)无法正常渲染是高频问题。根本原因在于:DomPDF 默认以服务器文件系统路径解析 ,而非 Web URL;当使用相对路径(如 "pic/cvsu.png")或 HTTP 地址(如 "http://localhost/...")时,DomPDF 无法定位或安全加载资源——前者因工作目录不明确而失败,后者则需显式启用远程资源且存在跨域与证书风险。
✅ 正确做法是:使用服务器绝对文件路径,确保 DomPDF 直接读取本地磁盘文件。最稳定、兼容性最佳的方式是结合 $_SERVER['DOCUMENT_ROOT'] 动态拼接:
<?php require_once __DIR__ . '/vendor/autoload.php'; use Dompdf\Dompdf; $dompdf = new Dompdf(); // ✅ 关键修复:使用 DOCUMENT_ROOT 构造绝对路径 $logoPath = $_SERVER['DOCUMENT_ROOT'] . '/pic/cvsu.png'; $html = <<<HTML <html><title>Sample PDF</title><h1>Sample PDF with Text and Image</h1> <p>This is a sample PDF generated using dompdf with PHP.</p> <img src="%24logoPath" alt="CVSU Logo" style="max-width:90%">











