2015年12月14日 星期一

PHP 產生 PDF 中文問題解決

今天發現在 homestead 下用 phantomjs 或 wkhtmltopdf 產生 PDF 時中文變成方塊,查了一下、發現是 server 端缺少中文字型的關係,試了兩種方法都可以解決。

方法一:

server 端安裝中文字型,如:文泉驛、思源字型

安裝文泉驛

sudo apt-get install xfonts-wqy

參考:



安裝思源字型

ubuntu 15.10 套件庫已有,之前版本可透過 ppa:createsc/3beol 安裝

sudo add-apt-repository ppa:ppa:createsc/3beol
sudo apt-get update
sudo apt-get install fonts-noto-cjk

參考:


方法二:

使用 web font,Google 有提供中文的(Google Fonts 早鳥頁

Noto Sans TC (Chinese Traditional) 還不錯呦,使用方法很簡單,以此為例

匯入 css

@import url(http://fonts.googleapis.com/earlyaccess/notosanstc.css);

在用到的 class or id 樣式加入

font-family: 'Noto Sans TC', sans-serif;

注意事項:

因為要從網路下載字型,中文字型檔通常不小,可能會跑到 timeout ,所以要注意 timeout 時間之設定,或是將匯入之 css 設定加入 server 端的 css,字型檔也下載到 server 端,然後更改 css 中字型檔載入路徑。

參考:




沒有留言:

張貼留言