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

XAMPP本地环境DOMPDF生成PDF图片加载失败求助

解决DOMPDF图片加载失败问题

针对你遇到的“image not found or type unknown”错误,结合你的代码和本地开发环境,可通过以下步骤修复:

1. 修正图片路径错误

你代码里用了Laravel Blade的{{ url() }}语法,但当前是原生PHP环境无法解析该语法,同时本地路径格式也存在问题,可选择任一方式调整:

方式一:使用本地绝对路径(Windows系统注意格式)

// 转义反斜杠写法
$html .= '<img src="C:\\xampp\\htdocs\\magna\\logo1.jpeg" style="position: absolute; top: -7px; left: 1px; width: 50px;" />';
// 或改用正斜杠(更推荐,避免转义问题)
$html .= '<img src="C:/xampp/htdocs/magna/logo1.jpeg" style="position: absolute; top: -7px; left: 1px; width: 50px;" />';

方式二:使用本地HTTP访问URL

利用XAMPP的本地服务,通过HTTP路径访问图片:

$html .= '<img src="http://localhost/magna/logo1.jpeg" style="position: absolute; top: -7px; left: 1px; width: 50px;" />';

方式三:使用相对路径(前提是当前PHP脚本与图片同目录)

若你的PHP文件位于C:\xampp\htdocs\magna下,直接写图片文件名即可:

$html .= '<img src="logo1.jpeg" style="position: absolute; top: -7px; left: 1px; width: 50px;" />';

2. 调整纸张设置的调用时机

你当前把setPaper放在render()之后,这会导致设置不生效,需调整执行顺序:

$dompdf->loadHtml($html);
// 先设置纸张尺寸和方向,再执行渲染
$dompdf->setPaper('A4', 'landscape'); 
$dompdf->render();
$dompdf->stream("invoice.pdf", array("Attachment" => false));

3. 确认GD扩展已正确启用

打开XAMPP的php.ini文件,查找extension=gd,确保该行没有被注释(去掉前面的;),之后重启Apache服务。

4. 验证图片有效性

  • 确认logo1.jpeg文件确实存在于指定路径中
  • 检查图片格式是否为DOMPDF支持的类型(JPEG、PNG、GIF等)
  • 确保文件无锁定、权限正常(XAMPP环境下一般无需额外设置)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 20:57:42