Cpdf.php 行 3855 中的错误异常:未定义的索引:在 barryvdh/laravel-dompdf

ErrorException in Cpdf.php line 3855: Undefined index: at barryvdh/laravel-dompdf

我正在使用 laravel 5.2,dompdf 在本地主机上运行良好,但当移动到 AWS 时它一直显示 ErrorException in Cpdf.php line 3855: Undefined index:,在这一行 (3855) 中有字体变量。

示例代码:

$html = "<h2>Hello</h2>";
PDF::setOptions(['dpi' => 150, 'defaultFont' => 'sans-serif']);
$pdf = PDF::loadHTML($html)->setPaper('a4', 'landscape');
return $pdf->download('pdfview.pdf');

由于 barryvdh/laravel-dompdf 中没有选项,我无法在 setOptions 处设置 'currentFont' => 'sans-serif'。那么我该如何解决 currentFont 问题。

本地主机 - Windows - 运行良好。

AWS - Linux - 错误。

通过从 storage/fonts 中删除 dompdf_font_family_cache.php 文件解决了错误 并让渲染器重新生成缓存。

我在 Linux 机器上遇到过这个问题。 显示的错误是

Undefined index: application/third_party/dompdf/lib/fonts\Times-Roman

如果您观察到字体名称“\”之前的目录分隔符在 Linux 环境中不兼容。此路径分隔符硬编码在 dompdf_font_family_cache.php 文件中,该文件位于 ../dompdf/lib/fonts 文件夹中。

在编辑器中打开文件并将“\”替换为“/”。保存更改。代码将开始工作。