无法使用 artisanserve 在 laravel-mpdf 中加载图像

问题描述 投票:0回答:4
laravel-8 mpdf
4个回答
1
投票

mPDF 无法使用单线程服务器正确加载外部资源。

如文档和自述文件中所述,

mPDF 在使用单线程服务器(例如 php -S)获取外部 HTTP 资源时存在一些问题。建议使用合适的服务器,例如 nginx (php-fpm) 或 Apache。

https://github.com/mpdf/mpdf#known-server-caveats


0
投票

我已经通过更改下面的行解决了这个问题

<img style="height: auto; width: 150px;" src="/storage/images/{{ $company_details->company_logo }}" />

<img style="height: auto; width: 150px;" src="storage/images/{{ $company_details->company_logo }}" />

斜线(/)是问题所在。我认为它正在将其视为 HTTP 资源。


0
投票

如果你想使用 php artisan 只需打开另一个具有其他端口的服务器,例如:

php artisan serve 

这是您的主服务器:http://localhost:8000

打开另一个命令 shell、终端等...并创建另一个服务器,帮助您将图像提供给 mpdf:

php artisan serve --port 8081

这将创建另一个服务器,http://localhost:8081,您可以通过更改

--port
arg来使用另一个端口。

所以在你的 mpdf 中你可以使用类似的东西:

$document->WriteHTML('<img src="http://localhost:8081/storage/logo.jpg" />');

-1
投票

我有同样的问题,但我修复了从绝对浴到相对路径的所有图像

例如就我而言,我改变了

src="{{assets('assets/logo.jpg')}}"

src="assets/logo.jpg"

资产函数会生成类似 http://youripordomain 的内容

© www.soinside.com 2019 - 2024. All rights reserved.