资讯专栏INFORMATION COLUMN

laravel 使用扩展包生成 PDF

wow_worktile / 2208人阅读

摘要:导语关于的扩展包有不少,这次选择的是,下面是具体操作。使用定义好路由之后,新建控制器进行测试。根据官方文档,可以使用或者门面进行实例化,效果是一样的,使用门面注意。

导语

关于 PDF 的扩展包有不少,这次选择的是 DOMPDF,下面是具体操作。代码可查看 GitHub。

composer 安装以及配置

依然使用 composer 安装,根据文档进行即可

执行 composer require barryvdh/laravel-dompdf

接下来是注册服务,在 config/app.php 中添加 BarryvdhDomPDFServiceProvider::class,,如下

添加门面,同样是在 config/app.php 中添加 "PDF" => BarryvdhDomPDFFacade::class,,如下

经过以上三个步骤,可以正常使用了。为了修改配置方便,可以在 config 目录下生成配置文件,执行 php artisan vendor:publish --provider="BarryvdhDomPDFServiceProvider",成功后可查看 config/dompdf.php 配置文件。根据自己的需求进行修改,也支持动态修改。

使用

定义好路由之后,新建控制器进行测试。根据官方文档,可以使用 App::make("dompdf.wrapper") 或者 PDF 门面进行实例化,效果是一样的,使用门面注意 use PDF

使用文档中的第一个示例

$pdf = App::make("dompdf.wrapper");
$pdf->loadHTML("

Test

");// 根据 HTML 代码生成 PDF return $pdf->stream();

效果如下

再来试下文档中的第二个示例

$pdf = PDF::loadView("pdf", ["date" => date("Y-m-d")]);// 根据视图文件生成 PDF
return $pdf->download("date.pdf");// 参数为文件名

打开链接后,可以下载名为 date.pdf 的文件,内容如下

以上使用了 loadHTML()loadView() 两种方法,分别是根据 HTML 代码和视图生成。使用 loadFile() 来试下

$file = storage_path("app/public/pdf/name.html");
$pdf = PDF::loadFile($file);
return $pdf->stream();

也可以链式调用多个方法,下面的代码是根据视图生成 PDF,然后保存到指定路径,最后在进行展示

return PDF::loadView("pdf", ["date" => date("Y-m-d")])->save(storage_path("app/public/pdf/date.pdf"))->stream("date.pdf");

参考资料:DOMPDF。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31149.html

相关文章

  • laravel使用 pdf 扩展

    摘要:下扩展包下比较知名的扩展包有都是出自大神之手使用的是是构建于也就浏览器渲染是根据流文件处理的相比下比较耗内存安装先安装我们通过来安装位,位命令查看系统位数并使其可执行接下来就来安装包配置将添加到中的数组中或添 laravel下 Pdf 扩展包 larave 下比较知名的PDF扩展包有:laravel-snappy , laravel-DOMPDF.都是出自大神 barryvdh 之手...

    JasinYip 评论0 收藏0
  • 下载量最高 100 个 Laravel 扩展推荐

    摘要:本文经授权转自社区,后续更新将以帖子内容和内容为准。说明另一个令人喜欢的地方,是拥有活跃的开发者社区,而活跃的开发者社区带来的,是繁华的扩展包生态。本文对上打了标签的扩展包进行整理,截止到现在年月号,有超过个扩展包,以下是下载量最大的个。 本文经授权转自 PHPHub 社区,后续更新将以 PHPHub 帖子内容 和 GitHub 内容 为准。 说明 Laravel 另一个令人喜欢的地方...

    Tychio 评论0 收藏0
  • laravel package收集

    摘要:查找保存下载用搭建自己的缓存仓库权限管理的好选择基于封装的后台管理系统,支持手机和端访问支付宝风格的验证器后台系统微信接口的部署脚本开发的博客系统百度推送自动记录用户行为扩展一个项目管理系统根据生成对应导航的状态 1.debug https://github.com/barryvdh/l... showImg(https://segmentfault.com/img/bVmhWL); ...

    psychola 评论0 收藏0
  • Laravel优秀扩展整理

    摘要:本文整理上国内相对较常用及以上版本的扩展包代码生成文档对象云存储文档消息闪存文档编辑器代码提示文档文档文档图片处理文档微信开发文档语言包文档验证码文档社会化登陆文档系统日志文档前端构建工具文档跨域资源共享文档基于的用户认 本文整理Github上国内相对较常用Laravel5及以上版本的扩展包 laravel-generator(代码生成) Github:https://github....

    lykops 评论0 收藏0
  • Laravel优秀扩展整理

    摘要:本文整理上国内相对较常用及以上版本的扩展包代码生成文档对象云存储文档消息闪存文档编辑器代码提示文档文档文档图片处理文档微信开发文档语言包文档验证码文档社会化登陆文档系统日志文档前端构建工具文档跨域资源共享文档基于的用户认 本文整理Github上国内相对较常用Laravel5及以上版本的扩展包 laravel-generator(代码生成) Github:https://github....

    kel 评论0 收藏0

发表评论

0条评论

wow_worktile

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<