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


目录
相关文章
|
1月前
|
存储 缓存 Python
如何使用Python抓取PDF文件并自动下载到本地
如何使用Python抓取PDF文件并自动下载到本地
34 0
|
1月前
|
数据采集 移动开发 前端开发
springboot使用html模版导出pdf文档
springboot使用html模版导出pdf文档
|
1月前
|
PHP Python
通过html实现文件的上传和下载
通过html实现文件的上传和下载
|
1月前
|
前端开发
前端实现生成pdf文件并下载
前端实现生成pdf文件并下载
38 1
|
1月前
超好看的下载页HTML源码分享
超好看的下载页HTML源码分享
66 4
超好看的下载页HTML源码分享
|
2月前
|
数据采集 数据安全/隐私保护
高效网络采集实践:使用 Haskell 和 html-conduit 下载 www.baidu.com 视频完整教程
网络采集在当今信息时代中发挥着关键作用,用于从互联网上获取数据并进行分析。本文将介绍如何使用 Haskell 进行网络编程,从数据采集到图片分析,为你提供一个清晰的指南。我们将探讨如何使用爬虫代理来确保高效、可靠的数据获取,并使用 Haskell 的强大功能来分析和处理数据。
|
2月前
使用Itext导出PDF
使用Itext导出PDF
24 0
|
2月前
|
前端开发
自适应APP下载页HTML源码
自适应APP下载页HTML源码
43 0
自适应APP下载页HTML源码
|
2月前
|
XML 持续交付 开发工具
SAPGUI 里 ABAP 代码导出成 PDF 格式的隐藏小技巧
SAPGUI 里 ABAP 代码导出成 PDF 格式的隐藏小技巧
27 0
|
2月前
|
测试技术 数据处理 Python
测试报告导出PDF和excel的方法
测试报告导出PDF和excel的方法