laravel6.*实现html转PDF导出下载(barryvdh/laravel-dompdf)

简介: laravel6.*实现html转PDF导出下载(barryvdh/laravel-dompdf)

本教程意在解决laravel6以上版本按照laravel-dompdf官方文档无法实现pdf导出成功的问题。

laravel转pdf,laravel实现html转pdf,laravel生成pdf

安装


使用composer进行安装

composer require barryvdh/laravel-dompdf

配置


config/app.php的providers数组中注册laravel-dompdf的服务提供者

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

config/app.php的aliases数组中注册laravel-dompdf的门面

'aliases' => [
  ....
  'PDF' => Barryvdh\DomPDF\Facade::class,
],

关键配置


这一步的配置是区别于laravel5.*的,所以在laravel6以上版本使用laravel-dompdf的要特别注意

在bootstrap/app.php中添加如下代码进行服务绑定

...
$app->singleton(\Barryvdh\DomPDF\ServiceProvider::class);
return $app;

资源发布


使用如下命令发布laravel-dompdf资源,会在config目录下产生一个配置文件如图

php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"

image.png

使用


注册路由

Route::get('/test_report_download', 'TestController@reportDownload');

在相应控制器方法中实现转换下载

  • loadView方法与laravel的视图渲染方法完全一致,第一个参数为视图模板,第二个参数为传递到视图中的数据
  • 视图模板中尽量不要使用flex进行布局,否则页面效果可能会没那么好
  • 推荐使用table布局,这样下载下来的报告更加美观,样式直接使用css进行控制就好
<?php
use PDF;
class TestController{
    public function reportDownload () {
        $testReport = ["one"=>1, "two"=>2];
        $pdf = PDF::loadView("fs.test_pdf_report", ["data"=>$testReport]);
        return $pdf->download("测试报告".date("YmdHis").".pdf");
    }
}

视图模板resources/fs/test_pdf_report.blade.php

<h3>测试报告</h3>
<table>
    <tr>
        <td>{{$data['one']}}</td>
        <td>{{$data['two']}}</td>
    </tr>
</table>

中文乱码解决方案


参考


项目地址:https://github.com/barryvdh/laravel-dompdf

6.0参考地址:https://hackthestuff.com/article/laravel-6-how-to-generate-html-to-pdf-with-laravel-dompdf


目录
相关文章
|
6月前
|
前端开发 JavaScript
个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
|
2月前
|
机器学习/深度学习 文字识别 Shell
高效率办公PDF批量处理:批量OCR识别PDF区域文字内容,用PDF内容批量改名或导出表格的货物运单应用案例
针对铁路货运物流单存档需求,本项目基于WPF与飞桨OCR技术,实现批量图片多区域文字识别与自动重命名。用户可自定义识别区域,系统提取关键信息(如车号、批次号)并生成规范文件名,提升档案管理效率与检索准确性,支持PDF及图像文件处理。
316 0
|
8月前
|
存储 JSON API
如何将 Swagger 文档导出为 PDF 文件
你会发现自己可能需要将 Swagger 文档导出为 PDF 或文件,以便于共享和存档。在这篇博文中,我们将指导你完成将 Swagger 文档导出为 PDF 格式的过程。
|
5月前
|
缓存 测试技术 网络安全
05百融云策略引擎项目交付-laravel实战完整交付定义常量分文件配置-独立建立lib类处理-成功导出pdf-优雅草卓伊凡
05百融云策略引擎项目交付-laravel实战完整交付定义常量分文件配置-独立建立lib类处理-成功导出pdf-优雅草卓伊凡
98 0
05百融云策略引擎项目交付-laravel实战完整交付定义常量分文件配置-独立建立lib类处理-成功导出pdf-优雅草卓伊凡
|
6月前
|
人工智能 文字识别 自然语言处理
熊猫 OCR 识别软件下载,支持截图 OCR、PDF 识别、多语言翻译的免费全能工具,熊猫OCR识别
本文介绍了几款实用的图文识别软件,包括熊猫OCR、Umi-OCR和天若OCR_本地版。熊猫OCR功能强大,支持多窗口操作、AI找图找色、OCR识别等;Umi-OCR免费且高效,具备截图OCR、批量处理等功能;天若OCR界面简洁,适合快速文字识别。文章还提供了下载链接及软件特点、界面展示等内容,便于用户根据需求选择合适的工具。
578 36
|
6月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
6月前
|
存储 安全 算法
Java 集合面试题 PDF 下载及高频考点解析
本文围绕Java集合面试题展开,详细解析了集合框架的基本概念、常见集合类的特点与应用场景。内容涵盖`ArrayList`与`LinkedList`的区别、`HashSet`与`TreeSet`的对比、`HashMap`与`ConcurrentHashMap`的线程安全性分析等。通过技术方案与应用实例,帮助读者深入理解集合类的特性和使用场景,提升解决实际开发问题的能力。文末附带资源链接,供进一步学习参考。
154 4
|
6月前
|
前端开发
个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
|
8月前
|
API
Postman 可以将文档导出为 HTML/Markdown 吗?
Postman 没有提供直接将你的文档导出为 HTML 或 Markdown 的途径。太糟糕了
|
10月前
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
286 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布