首页 > php框架 > Laravel > 正文

Laravel如何生成PDF文件_Laravel DomPDF扩展包使用

尼克
发布: 2025-11-26 09:42:37
原创
998人浏览过
使用DomPDF可高效生成PDF。通过Composer安装barryvdh/laravel-dompdf,利用PDF门面加载视图并生成文件,支持下载、预览、保存操作,可设置纸张大小、方向,并需注意中文字体兼容性。

laravel如何生成pdf文件_laravel dompdf扩展包使用

在Laravel项目中生成PDF文件,一个简单高效的方式是使用DomPDF扩展包。它能将HTML内容渲染为PDF文档,非常适合生成报表、发票、合同等场景。下面介绍如何在Laravel中集成并使用DomPDF。

安装Laravel DomPDF扩展包

通过Composer安装barryvdh/laravel-dompdf,这是Laravel对DomPDF的封装包,支持服务容器和门面调用。

在项目根目录运行以下命令:

composer require barryvdh/laravel-dompdf
登录后复制

安装完成后,Laravel 5.5+会自动注册服务提供者和门面,无需手动操作。如果使用较旧版本,需在config/app.php中添加:

  • providers: Barryvdh\DomPDF\ServiceProvider::class
  • aliases: 'PDF' => Barryvdh\DomPDF\Facade::class

基本使用方法

安装完成后,可以在控制器中使用PDF门面快速生成PDF。

示例:生成一个简单的PDF文件

use PDF;

public function generatePDF()
{
    $data = [
        'title' => '欢迎使用Laravel DomPDF',
        'content' => '这是一段用于测试PDF生成的内容。'
    ];

    $pdf = PDF::loadView('pdf.document', $data);
    return $pdf->download('example.pdf');
}
登录后复制

上述代码中,loadView方法加载名为pdf.document的视图文件,并传入数据。调用download()会强制浏览器下载PDF文件。若想直接在浏览器中预览,可使用stream()方法:

return $pdf->stream('document.pdf');
登录后复制

创建PDF视图模板

resources/views/pdf/document.blade.php中创建视图文件:

Devin
Devin

世界上第一位AI软件工程师,可以独立完成各种开发任务。

Devin 242
查看详情 Devin
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>{{ $title }}</title>
    <style>
        body { font-family: Arial, sans-serif; }
        h1 { color: #3498db; }
    </style>
</head>
<body>
    <h1>{{ $title }}</h1>
    <p>{{ $content }}</p>
</body>
</html>
登录后复制

注意:建议使用内联样式或<style>标签定义CSS,因为外部样式表可能无法正确加载。

设置PDF选项(如纸张大小、方向)

你可以自定义PDF的输出格式,例如更改纸张尺寸或页面方向:

$pdf = PDF::loadView('pdf.document', $data)
           ->setPaper('a4')
           ->setOrientation('portrait'); // 或 'landscape'
登录后复制

常见纸张类型包括a4letterlegal等。setOrientation控制纵向或横向排版。

保存PDF到服务器

如果需要将PDF保存到服务器而非下载,可以使用save()方法:

$pdf->save(storage_path('app/pdfs/invoice.pdf'));
登录后复制

确保目标目录存在且有写入权限。

基本上就这些。结合Blade模板和PHP逻辑,你可以动态生成结构复杂的PDF文档。不复杂但容易忽略的是字体和中文支持问题——若需显示中文,建议在CSS中引入支持中文的字体(如SimSun),并确保服务器环境支持。

以上就是Laravel如何生成PDF文件_Laravel DomPDF扩展包使用的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号