让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支持utf8(附带设置微软雅黑字体)_第1张图片


fpdf还是很强大的,另外highcharts也是前端经常用到。附上一个demo

highcharts 画图+fpdf输出图表  效果如下

让fpdf支持utf8(附带设置微软雅黑字体)_第2张图片


你可能感兴趣的:(php,fpdf)