讓fpdf支持utf8(附帶設置微軟雅黑字體)

老手勿噴

一、fpdf支持中文

其實很簡單

下載fpdf 的chinese包(裏面包括一個chinese.php  以及一個示例文件)

以下是示例文件內容 ex.php

require ('chinese.php');


$pdf=new PDF_Chinese();
$pdf->AddBig5Font();
$pdf->AddPage();
$pdf->SetFont('Big5','',20);
$pdf->Write(10,'zxc123你好');
$pdf->Output();
把這個兩個文件移到fpdf文件夾下訪問運行後,就能得到一個包含中文的pdf

二、fpdf設置中文字體

這裏以微軟雅黑爲例

下載微軟雅黑字體(如msyh.ttf)

把 下載後的字體copy到 fpdf17\font

並在這個文件夾下,新建一個php 裏面內容如下

require('../makefont/makefont.php');


MakeFont('msyh.ttf');
訪問運行後,得到兩個文件msyh.php msyh.z

修改ex.php 爲一下內容

require ('chinese.php');
 
$pdf = new PDF_Chinese ();
$pdf -> AddGBFont ('msyh','微軟雅黑');
$pdf -> Open ();
$pdf -> AddPage ();
$pdf -> SetFont ('msyh', '', 20);
$pdf -> Write (5, 'zxc123你好');
$pdf -> Output();
如果保存編碼爲gbk 那就能得到一個微軟雅黑字體的正常pdf

三、utf8編碼下fpdf中文

這個只需要把中文從gbk編碼到utf8,用iconv 輕鬆解決

require ('chinese.php');
 
$pdf = new PDF_Chinese ();
$pdf -> AddGBFont ('msyh',iconv("UTF-8","gbk",'微軟雅黑'));
$pdf -> Open ();
$pdf -> AddPage ();
$pdf -> SetFont ('msyh', '', 20);
$pdf -> Write (5, iconv("UTF-8","gbk",'zxc123你好'));
$pdf -> Output();
結果如下


fpdf還是很強大的,另外highcharts也是前端經常用到。附上一個demo

highcharts 畫圖+fpdf輸出圖表  效果如下



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章