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

相關文章
相關標籤/搜索