您现在的位置是:自如初>LaravelLaravel

Laravel9 使用 barryvdh/laravel-dompdf 创建 PDF 文件

温新 2022-09-05 23:22:13 Laravel 420人已围观

简介Laravel9 使用 barryvdh/laravel-dompdf 创建 PDF 文件。本篇文章将学习如何在Laravel9中生成pdf文件

hi,我是温新,一名PHPer

本篇文章将学习怎么在 Laravel9 中使用 barryvdh/laravel-dompdf 来创建 pdf 文件。

第一步:安装 Laravel9 项目

composer create-project laravel/laravel la9study

第二步:配置数据库连接

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=la9study
DB_USERNAME=la9study
DB_PASSWORD=123456

第三步:填充数据

第一步:执行迁移文件

php artisan migrate

第二步:填充数据

php artisan tinker
User::factory()->count(100)->create()

第四步:安装 DomPDF 包

composer require barryvdh/laravel-dompdf

第五步:添加路由

<?php
// routes/web.php
use Illuminate\Support\Facades\Route;

Route::get('pdf', [\App\Http\Controllers\Test\PdfController::class, 'index']);

第六步:编写控制器方法

创建控制器

php artisan make:controller Test/PdfController

编写控制器方法

<?php

namespace App\Http\Controllers\Test;

use App\Http\Controllers\Controller;
use App\Models\User;
use Barryvdh\DomPDF\Facade\Pdf;

class PdfController extends Controller
{
   public function index()
   {
       $users = User::query()->where('id', '<', 10)->get();
       $data = [
           'title' =>  'Laravel9 创建 PDF 文件',
           'date'  =>  date('Y-m-d'),
           'users' =>  $users,
       ];

       // 创建 pdf 模板文件
       $pdf = Pdf::loadView('test.pdf.mypdf', $data);
       // 下载 pdf 文件
       return $pdf->download('users.pdf');
   }
}

第七步:创建模板文件

// views/test/pdf/mypdf.blade.php
<!
DOCTYPE html>

<html>
<head>
   <title>Laravel 9 Create PDF File</title>
   <link href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-p1KAotb3W9ndluCsqePPYnjRm3c6abdnIjo0tQwYUv83VsbsYd43RuofnFAaDo0E" crossorigin="anonymous">
<body>
   <h1>{{ $title }}</h1>
   <p>{{ $date }}</p>
   <p>Laravel9 Crate PDF FILE</p>

   <table class="table">
       <tr>
           <th>ID</th>
           <th>Name</th>
           <th>Email</th>
       </tr>
       @foreach($users as $user)
           <tr>
               <td>{{ $user->id }}</td>
               <td>{{ $user->name }}</td>
               <td>{{ $user->email }}</td>
           </tr>
       @endforeach
   </table>
</body>
</html>

到这里,代码部分的功能就已经完成了,接下来就访问 URL 来下载 pdf 文件吧。



很赞哦!(4)

文章评论

登录 注册

  • 最初的初见    2022年09月28日

    会乱码吧?

自如初--时间轴

QQ登录

站名:自如初

独白:向前走!向前走!

邮箱:xyhcx@foxmail.com

站点信息