百度了一下有兩個選擇,laravel-dompdf 和 laravel-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