在 Laravel 使用 barryvdh/laravel-dompdf package 產生 PDF 時, 會有中文顯示的問題 之前花了不少時間, 總算是有一個比較好的解決方式! 不過中文的問題解決了!還有因為轉出內容過大導致記憶體不足的問題, 而產生 crash 導致無法產出PDF檔案的問題, 則是另一個需要解決的難題了! 願善心人士可以分享解決方式, 謝謝! 以下整理 barryvdh/laravel-dompdf package 之 PDF 中文的問題
1. 首先參考在你的 laravel proejct 安裝 laravel-dompdf package
2. 安裝之後, 進入 /vendor/barryvdh/laravel-dompdf/config
修改 dompdf.php 檔案內容
將 "DOMPDF_DEFAULT_FONT" => "serif",
改成 "DOMPDF_DEFAULT_FONT" => "msyh",
修改完成後請存檔!
從 链接: https://pan.baidu.com/s/1jIKD4Ia 密码: 8nyq 下載字型檔案, 並且, 將整個 fonts 資料夾的檔案複製到專案目錄下的 /storage/fonts 資料夾裡.
以上就完成了!
可以試著產生帶有中文字的 PDF 檔案!
需注意的是:直接修改 /vendor/barryvdh/laravel-dompdf/config 的 dompdf.php 組態檔案 在預設的情況 並不會被保存
所以當網站搬家時, 該 vendor 目錄是會經由 composer update 指定重新下載的 (預設這個目錄會被 git 排除)
因此, 如果要避免網站搬家時, 忘記備份到 修改的設定檔案內容, 則可以使用指令
php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"
將 config copy 到 專案的 config 目錄下, 這樣就可以保留所修改的設定, 也比較不容易忽略!
以上為心得筆記, 供參考, 還請前輩不吝指教,謝謝大家!!
文章標籤
全站熱搜
留言列表