让fpdf支持utf8(附带设置微软雅黑字体)

来源:互联网 发布:欧舒丹护手霜味道知乎 编辑:程序博客网 时间:2024/05/01 16:53

老手勿喷

一、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输出图表  效果如下



1 0
原创粉丝点击