laravel html转pdf和转图片 (laravel-snappy的使用记录)

使用前提:wkhtmltopdf

https://wkhtmltopdf.org/downloads.html

安装:

composer require barryvdh/laravel-snappy

config中的app.js中

providers中添加

Barryvdh\DomPDF\ServiceProvider::class,

aliases中添加

'PDF' => Barryvdh\Snappy\Facades\SnappyPdf::class,
'SnappyImage' => Barryvdh\Snappy\Facades\SnappyImage::class,

配置文件生成,config/snappy.php,生成后修改文件中的 binary 的值为wkhtmltopdf的安装位置,对应修改为bin/xxx

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

实际使用

public function html2pdf(){
        // 转pdf,转图片的时候使用snappy.image.wrapper
        $pdf = App::make('snappy.pdf.wrapper');

        // html中的meta必须使用utf-8,否则可能出现中文乱码
        $str = <<<EOD
<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
</head>

<style>
</style>

<body>
	<p>来源:中国证券报·中证网</p>
    <p>中证网讯(记者 崔小粟 实习记者金一丹)7月17日,<strong class="ql-size-large"><u>民航局批准第二批国际客运奖励航班。日本航空JL829/0、老挝航空QV815/6、海南航空HU491/</u></strong>2、海南航空HU7975/6四个国际往返航班每周从1班增至2班。</p>
    <p>其中,7月21日至10月24日,新<span style="background-color: rgb(255, 255, 204);">增日本航空JL829/0(东京-大连-东京</span>)每周二的往返客运航班;7月18日至10月24日,新增老挝航空QV815/6(万象-昆明-万象)每周四的往返客运航班;7月20日至10月24日,新增海南航空H<s>U491/2(北京-布鲁塞尔-北京,第</s>一入境点为西安)每周五(去程)、每周日(回程)的往返客运航班;7月18日至10月24日,新增海南航空HU7975/6(北京-多伦多-北京,第一入境点为西安)每周六(去程)<span style="color: rgb(230, 0, 0);">、每周一(回程)的往返客运航班。</span></p><p><span style="color: rgb(230, 0, 0);">根据《民航局关于调整国际客运航班的通知》,航空公司同一航线航班,入境后核酸检测结果为阳性的旅客人数连</span>续3周为零的,可在航线经营许可规定的航班量范围内增加每周1班,最多达到每周2班。</p>
	<p><img src="https://pics2.baidu.com/feed/a50f4bfbfbedab64ceb3b09d941953c578311e64.jpeg?token=ad8a3fbaadf795e4f5d78fa116c50cdb"></p>
</body>
</html>

EOD;
        // 转图片的时候不需要后面2个链式操作,只写到loadHtml
        // 为了防止纸张分页导致dom截断,可以设置成单页纸张,高度由前端传进来动态修改
        // 宽度因为后端为A4的宽(单位mm),所以前端给的长度要按照比例处理后再给
        // ->setOption('page-width', '210')->setOption('page-height', '2000')
        $pdf->loadHTML($str)->setPaper('a4', 'landscape')->setWarnings(false);
        // 直接页面预览
        // return $pdf->stream();
        // 下载,命名可以自定义,转图的时候后缀改成图片后缀格式
        return $pdf->download('test.pdf');
    }

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值