当前位置: 首页 > 后端技术 > PHP

Laravel使用扩展包生成PDF

时间:2023-03-30 03:14:18 PHP

简介PDF的扩展包有很多。这次我选择了DOMPDF。下面是具体操作。代码在GitHub上可用。Composer安装配置还是使用composer安装,根据文档执行composerrequirebarryvdh/laravel-dompdf接下来是注册服务,在config/app.php中添加Barryvdh\DomPDF\ServiceProvider::class,添加门面如下,还要在config/app.php中添加'PDF'=>Barryvdh\DomPDF\Facade::class,经过以上三步就可以正常使用了。为了方便修改配置,可以在config目录下生成配置文件,执行phpartisanvendor:publish--provider="Barryvdh\DomPDF\ServiceProvider",成功后查看config/dompdf.php配置文件。根据自己的需要修改,也支持动态修改。使用定义好的路由后,新建一个controller进行测试。根据官方文档,可以使用App::make('dompdf.wrapper')或者PDF门面来实例化,效果是一样的,使用门面要注意使用PDF。使用文档中的第一个例子$pdf=App::make('dompdf.wrapper');$pdf->loadHTML('

Test

');//从HTML代码生成PDFreturn$pdf->流();效果如下再试试文档中的第二个例子$pdf=PDF::loadView('pdf',['date'=>date('Y-m-d')]);//根据视图文件生成PDFreturn$pdf->download('date.pdf');//参数为文件名。打开链接后,您可以下载名为date.pdf的文件。内容如下。上面使用了loadHTML()和loadView()两个方法,分别根据HTML代码和视图生成。使用loadFile()试试$file=storage_path('app/public/pdf/name.html');$pdf=PDF::loadFile($文件);返回$pdf->stream();也可以链式调用多个方法,下面的代码是根据视图生成PDF,然后保存到指定路径,最后显示出来returnPDF::loadView('pdf',['date'=>date('Y-m-d')])->save(storage_path('app/public/pdf/date.pdf'))->stream('date.pdf');参考资料:DOMPDF。