使用laravel-dompdf 2.0导出Blade视图报错,1.0版本正常求解决
问题排查与解决
核心原因
你遇到的Undefined array key ""错误,是因为新版本barryvdh/laravel-dompdf依赖的dompdf/dompdf核心库在字体处理逻辑上做了变更,而1.0版本的容错性更高,没有触发这个问题。报错指向的Cpdf.php代码行属于字体加载模块,大概率是默认字体配置缺失导致的空键调用。
解决步骤
1. 配置默认字体
首先发布dompdf的配置文件(如果还没发布):
php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"
然后打开config/dompdf.php,添加或修改默认字体配置:
'default_font' => 'dejavu sans',
dompdf内置了dejavu sans字体,无需额外安装。
2. 降级到稳定版本
如果暂时不需要新版本的特性,直接锁定1.0版本更快捷:
修改composer.json中的依赖项:
"barryvdh/laravel-dompdf": "1.0.*"
执行更新命令:
composer update barryvdh/laravel-dompdf
3. 清理视图潜在干扰
虽然你的视图代码看起来正常,可以尝试去掉<title>标签后的空格,避免隐藏空白字符引发的解析问题:
<title>PDF</title>
内容的提问来源于stack exchange,提问作者HosKy
相关产品推荐
相关产品推荐

