laravel 框架下生成 pdf

百度了一下有两个选择,laravel-dompdflaravel-snappy,一个做者写的。html

一开始选择的 laravel-dompdf,由于移植相对后者来讲简单点,可是遇到汉字乱码问题,试了几个解决方案都没用,又听其余人十分推崇 laravel-snappy,遂改用了后者。linux

github 地址:https://github.com/barryvdh/laravel-snappylaravel

首先声明下,我只须要生成 pdf,不须要生成图片。git

第一步,安装 Wkhtmltopdfgithub

下载 Wkhtmltopdf(https://github.com/KnpLabs/snappy#wkhtmltopdf-binary-as-composer-dependencies),我用 composer 方式:windows

composer require h4cc/wkhtmltopdf-amd64 0.12.x

整个页面就这句有用对我来讲。服务器

第二步,安装 laravel-snappyapp

回到 laravel-snappy (https://github.com/barryvdh/laravel-snappy)页面,composer

cp vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64 /usr/local/bin/
chmod +x /usr/local/bin/wkhtmltopdf-amd64

为了移植方便我没有用到这两句,若是是多个项目须要转成 pdf 的话能够参考这个方式。dom

生成配置文件后,有两种方式引用 wkhtmltopdf:

方式一

'binary' => base_path('vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64'), // 我用的这个

方式二

'binary'  => '/usr/local/bin/wkhtmltopdf-amd64', // linux 环境
'binary' => '"C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf"' // windows 环境

 

最后是解决中文乱码问题,网上搜一个中文字体库放到 /usr/share/fonts/ (个人服务器是 CentOS7,windows 本身找解决方案 /斜眼笑)便可,我这里下载的 sumsin.ttf (宋体)(https://ufonts.com/download/simsun.html)

 

须要注意的地方就这几点,其余的参考官方教程走就行。

 

参考:https://www.cnblogs.com/weiyalin/p/7765558.html

相关文章
相关标签/搜索