Laravel 5.6:DOMPDF不会保存PDF文件

时间:2018-11-28 18:55:54

标签: laravel laravel-5 laravel-5.6 dompdf

我正在使用Laravel 5的DOMPDF包装器从视图创建PDF。

<?php

$customer = Customer::findOrFail(Auth::user()->id);

return PDF::loadView('backend.profile.includes.pdf.pdf', 
    compact('customer'))->save(public_path('pdf/resume/test.pdf'));

当我访问相关页面时,该文件未保存在公用文件夹中。什么都没发生。

1 个答案:

答案 0 :(得分:0)

您应该使用Laravel的文件系统将DOMPDF中的数据保存到文件中。我不确定您的代码实际呈现PDF的外观,但这是一个基本概念。

首先,请确保将“ public / storage”目录链接到“ storage / app / public”。 Laravel可以使用以下命令为您完成此操作。

php artisan storage:link

然后,您可以执行类似的操作以使用DOMPDF呈现文档并保存文件。

use Dompdf\Dompdf;
use Illuminate\Support\Facades\Storage;

$dompdf = new Dompdf();
$dompdf->loadHtml($view);
$dompdf->setPaper('letter', 'portrait');
$dompdf->render();

$file = $dompdf->output();
Storage::put('public/test.pdf', $file);

有关更多详细信息,请参见this article