Laravel 响应:返回 PDF (文件响应)
在Laravel中,你可以使用Response
facade来返回PDF文件。以下是一个简单的例子,展示如何生成并返回PDF文件:
首先,确保你已经安装了barryvdh/laravel-dompdf
包,这是一个用来生成PDF的非常流行的库。
composer require barryvdh/laravel-dompdf
然后,你可以在你的控制器中添加一个方法来生成PDF并返回:
use PDF;
use Illuminate\Http\Response;
public function downloadPDF()
{
$data = ['title' => 'Laravel PDF Example', 'content' => 'This is a simple example.'];
$pdf = PDF::loadView('pdf_view', $data);
return $pdf->download('example.pdf');
}
确保你有一个名为pdf_view
的视图文件,它是你的PDF模板。
如果你想直接在浏览器中打开PDF文件而不是下载,可以使用stream
方法代替download
:
public function showPDF()
{
$data = ['title' => 'Laravel PDF Example', 'content' => 'This is a simple example.'];
$pdf = PDF::loadView('pdf_view', $data);
return $pdf->stream('example.pdf');
}
这样,当你访问对应的路由时,Laravel会生成PDF并在浏览器中打开它。
评论已关闭