在 Laravel 10 中使用 DomPDF

2025-06-10

在 Laravel 10 中使用 DomPDF

各位工匠们,大家好,

在 Web 开发领域,动态生成 PDF 文档的需求十分常见。值得庆幸的是,PHP 框架 Laravel 提供了与各种软件包的集成,使这一过程更加简单。其中一个软件包就是 domPDF,它是一个在 Laravel 中轻松生成 PDF 的常用库。在本指南中,我们将指导您逐步利用 domPDF 的功能来增强您的 Laravel 应用程序。

什么是 domPDF?
DomPDF 是一个 PHP 库,可让您轻松地将 HTML 内容转换为 PDF 文档。通过将其与 Laravel 集成,您可以获得一系列功能,轻松生成 PDF。

步骤 1:安装 Laravel 项目:
如果还没有,请使用 Composer 创建一个新的 Laravel 项目:

composer create-project --prefer-dist laravel/laravel dompdf-laravel
Enter fullscreen mode Exit fullscreen mode

导航到您的项目目录:

cd dompdf-laravel
Enter fullscreen mode Exit fullscreen mode

第 2 步:安装 domPDF 包:
使用 Composer 安装 domPDF 包:

composer require barryvdh/laravel-dompdf
Enter fullscreen mode Exit fullscreen mode

步骤 3:配置 Laravel:
安装完成后,我们需要通过在文件中添加以下行来注册服务提供商和别名config/app.php

'providers' => [
    // ...
    Barryvdh\DomPDF\ServiceProvider::class,
],

'aliases' => [
    // ...
    'PDF' => Barryvdh\DomPDF\Facade::class,
],
Enter fullscreen mode Exit fullscreen mode

步骤 4:发布配置:
现在我们需要发布配置文件来自定义 domPDF 设置:

php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"
Enter fullscreen mode Exit fullscreen mode

config/dompdf.php根据需要编辑该文件。

步骤 5:创建控制器:
生成一个控制器来处理 PDF 生成:

php artisan make:controller PDFController
Enter fullscreen mode Exit fullscreen mode

编辑PDFController.php文件以包含以下内容:

use PDF;

class PDFController extends Controller
{
    public function generatePDF()
    {
        $data = ['title' => 'domPDF in Laravel 10'];
        $pdf = PDF::loadView('pdf.document', $data);
        return $pdf->download('document.pdf');
    }
}
Enter fullscreen mode Exit fullscreen mode

步骤 6:创建 Blade 视图:
下一步是为 PDF 内容创建 Blade 视图。例如,在resources/views/pdf/document.blade.php

<!DOCTYPE html>
<html>
<head>
    <title>{{ $title }}</title>
</head>
<body>
    <h1>{{ $title }}</h1>
    <p>This PDF document is generated using domPDF in Laravel.</p>
</body>
</html>
Enter fullscreen mode Exit fullscreen mode

步骤 7:定义路线:
定义调用 PDF 生成的路线:

编辑 routes/web.php 文件:

use App\Http\Controllers\PDFController;

Route::get('/generate-pdf', [PDFController::class, 'generatePDF']);
Enter fullscreen mode Exit fullscreen mode

步骤 8:测试您的应用程序:
使用以下命令运行您的 Laravel 开发服务器:

php artisan serve
Enter fullscreen mode Exit fullscreen mode

现在在浏览器中访问http://localhost:8000/generate-pdf以触发 PDF 生成。

结论:
干得好!您已成功将 domPDF 集成到您的 Laravel 应用程序中,使其能够生成动态 PDF 文档。这套强大的工具组合现在可让您探索更多功能,例如制作发票、报告或应用程序可能需要的任何其他 PDF 文档。充分利用其丰富的自定义选项,在您的 Laravel 项目中释放 domPDF 的潜力。

如果您喜欢这篇文章,那么您可以给我买我的第一杯咖啡,提前谢谢您。

给我买杯咖啡

祝你编程愉快!
阅读愉快!
❤️🦄

鏂囩珷鏉ユ簮锛�https://dev.to/snehalkadwe/use-of-dompdf-in-laravel-10-opn
PREV
JS 中的递归优化——它在哪里?PTC、TCO 和 FUD
NEXT
Filament V3 和 Laravel 10 入门