Dompdf Laravel 错误“找不到图像或类型未知”

问题描述 投票:0回答:1

我无法下载带有图像的 pdf 文件,我在我的 Laravel 项目中使用 dompdf。

这是我的控制器代码:

public function downloadPdf()
    {
        $cakes = Cake::all();

        $data = [
            'cakes' => $cakes,
        ];

        $pdf = PDF::loadView('pages.cake.pdf', $data)
            ->setOptions(['defaultFont' => 'sans-serif'])
            ->setPaper('landscape', 'a4');

        return $pdf->download('kue.pdf');
    }

这是我的观点下载:

<table class="table table-bordered">
                        <thead>
                            <tr>
                                <th>No.</th>
                                <th>Nama Kue</th>
                                <th>Harga</th>
                                <th>Foto</th>
                                <th>Dibuat Oleh</th>
                            </tr>
                        </thead>
                        <tbody>
                            @foreach ($cakes as $item)
                                <tr>
                                    <td>{{ $loop->iteration }}</td>
                                    <td class="align-middle">{{ $item->nama }}</td>
                                    <td class="align-middle">{{ $item->harga }}</td>
                                    <td>
                                        **<img src="{{ asset('fotoKue/kue-fazril.jpg') }}" alt="Foto Kue"
                                            style="heigth: 8rem; width: 8rem;">**
                                    </td>
                                    <td class="align-middle p-0">
                                        {{ $item->creator_name . ' - ' . $item->creator_nim }}
                                    </td>
                            @endforeach
                        </tbody>
                    </table>

iam 使用 src 进入我的公共目录进行采样。

我想我的问题dompdf无法使用imgae下载pdf,已解决。

php html laravel pdf dompdf
1个回答
0
投票

您正在使用

src="{{ asset('fotoKue/kue-fazril.jpg') }}"
。对于网络视图来说,这是正确的选择。

它创建类似

http://localhost/assets/fotoKue/kue-fazril.jpg
的 url。这里的问题是 DOMPDF 需要服务器上的文件相对路径。在大多数情况下,它不会(在 docker 上总是)与本地主机一起工作,因为它不可用。

尝试

src="{{ public_path('assets/fotoKue/kue-fazril.jpg') }}"
。 这将创建
/var/www/html/public/assets/fotoKue/kue-fazril.jpg

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