laravel-dompdfで画像を表示させる方法
はじめて知った知識なので共有です。
Laravelで画像を表示させるとき、一般的にはasset()関数を用いて下記の様に画像を表示させることが一般的かと思いますが、
<img src="{{ asset('image/logo.png') }}" alt="">
PDF用のviewにおいてasset()関数を使うと下記にようなエラーになってしまいます。
"Error loading http://localhost:9000/image/logo.png: Remote file requested, but remote file download is disabled. \n http://localhost:9000/image/logo.png\n"
これは、PDF生成ライブラリがリモートファイルのダウンロードを許可していないために発生していますので、下記のように、public_pathヘルパーを用いれば解決します。
<img src="{{ public_path('image/logo.png') }}" alt="">
asset()はWebからアクセス可能なURLを生成する関数ですが、PDFの場合、サーバーサイドでURLを生成する必要がある為に、public_pathを用いてください。
以上です!