Laravel 8 - 生成PDF文件

Laravel 8 - 生成PDF文件 首页 / Laravel8入门教程 / Laravel 8 - 生成PDF文件

在这里,创建Laravel 8的基本示例从视图中创建PDF。

第1步:安装Laravel 8

无涯教程将从头开始逐步说明,因此,需要使用下面命令获取新的Laravel 8应用程序:

composer create-project --prefer-dist laravel/laravel blog

步骤2:安装dompdf包

首先,将在Laravel 8应用程序中安装barryvdh/laravel-dompdf  Composer包。

composer require barryvdh/laravel-dompdf

成功安装包后,打开config/app.php文件并添加service provider和alias别名。

config/app.php

'providers' => [

....

Barryvdh\DomPDF\ServiceProvider::class

],

'aliases' => [

....

'PDF' => Barryvdh\DomPDF\Facade::class

]

步骤3:添加路由

在这是无涯教程需要创建项目列表的路由。所以打开"routes/web.php"文件并添加以下路由。

routes/web.php

<?php

use Illuminate\Support\Facades\Route;

use App\Http\Controllers\PDFController;

/*

|--------------------------------------------------------------------------

| Web Routes

|--------------------------------------------------------------------------

|

| Here is where you can register web routes for your application. These

| routes are loaded by the RouteServiceProvider within a group which

| contains the "web" middleware group. Now create something great!

|

*/

Route::get('generate-pdf' [PDFController::class 'generatePDF']);

步骤4:添加控制器

在这里,需要创建新的控制器PDFController,该控制器PDFController将管理GeneratePDF方法。

app/Http/Controllers/PDFController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use PDF;

class PDFController extends Controller

{

/**

* Display a listing of the resource.

*

* @return \Illuminate\Http\Response

*/

public function generatePDF()

{

$data = [

'title' => '欢迎访访问LearnFK无涯教程网'

'date' => date('Y-m-d')

];

$pdf = PDF::loadView('myPDF' $data);

return $pdf->download('learnfk.pdf');

}

}

步骤5:创建视图

在最后一步中,一起为PDF文件的布局创建myPDF.blade.php(resources/views/myPDF.blade.php),并按照以下代码:

resources/views/myPDF.blade.php

<!DOCTYPE html>

<html>

<head>

<title>Hi</title>

</head>

<body>

<h1>{{ $title }}</h1>

<p>{{ $date }}</p>

<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod

tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,

quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo

consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse

cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non

proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

</body>

</html>

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

微服务架构核心20讲 -〔杨波〕

从0开始做增长 -〔刘津〕

微信小程序全栈开发实战 -〔李艺〕

软件设计之美 -〔郑晔〕

打造爆款短视频 -〔周维〕

性能优化高手课 -〔尉刚强〕

Tony Bai · Go语言第一课 -〔Tony Bai〕

超级访谈:对话汤峥嵘 -〔汤峥嵘〕

云时代的JVM原理与实战 -〔康杨〕

好记忆不如烂笔头。留下您的足迹吧 :)