Laravel 6 DOMPDF图像渲染

问题描述

我正在使用 barryvdh / laravel-dompdf 将Blade模板视图转换为PDF文档,除图像外,其他所有功能都很好。

一个PDF中,我的图像带有以下标记

<img 
    class="newable-logo" 
    src="{{ public_path('assets/images/newable-logo-blue.png') }}"
    alt="{{ public_path('assets/images/newable-logo-blue.png') }}"
>

在我的本地计算机上,此操作解决

C:\laragon\www\nvl-portal\public\assets/images/newable-logo-blue.png

这不会在本地PDF上呈现,但是此确切的代码可以在我的登台服务器和生产服务器上正常工作。

这是正常行为吗?

我一直以为DOMPDF使用了完全限定的路径?

解决方法

由于Windows和Linux之间的路径分隔符不同,可能会发生这种情况。 您可以在php中尝试DIRECTORY_SEPARATOR。 例如:

src="{{ public_path('assets' .DIRECTORY_SEPARATOR .'images' .DIRECTORY_SEPARATOR . 'newable-logo-blue.png') }}"