您的位置:首页 > 其它

FPDF中文多字体解决方案

2010-12-03 10:17 501 查看
中午找到了一个不错的在PHP中生成PDF的类,叫FPDF,下午研究时突然想到:如果能有多种字体,比如说黑体、楷体、仿宋等等,是不是更方便些呢!原来FPDF支持自己制作多字体!

  上午已经下载了FPDF类和中文包,显示单一字体的中文应该没有问题了,现在需要多下载两个东西(最后两个附件就是了):

1、字体格式转换程序(TTF2PT1)

2、TTF2PT1中文支持包
[align=left]  将TTF2PT1解压到某个文件夹,这里设定为“C:\ttf2pt1”。将中文支持包中的ugb.map或ugbk.map复制到该文件夹。[/align]
[align=left]  将你想转换的字体从WINDOWS的FONTS文件夹中复制出来,这里处理黑体,复制的就是“simhei.ttf”,也复制到上面那个文件夹 中。这样你的“C:\ttf2pt1”文件夹中应该有以下几个文件:ttf2pt1.exe、ugbk.map、simhei.ttf。[/align]
[align=left]  运行:C:\ttf2pt1\ttf2pt1.exe –a –L ugbk.map+a1 simhei.ttf simhei[/align]
[align=left]  运行过程有点长,完成后会在“C:\ttf2pt1”文件夹内生成两个文件:simhei.afm和simhei.t1a,把 simhei.afm和simhei.ttf复制到你的FPDF类安装文件夹下的font内,并在该文件夹内新建一个PHP文件,输入以下代码:[/align]
[align=left] [/align]
<?php
require('./makefont/makefont.php');
MakeFont('./simhei.ttf', './simhei.afm');
?>

[align=left]  运行该文件,戒烟如你的屏幕上显示了一大堆Warning,说什么东西missing,不要管它,只要又生成了两个文件:simhei.php和simhei.z就可以,删掉simhei.ttf,制作字体的任务就完成了,如果想制作多个字体,继续用这个方法。[/align]
[align=left]  使用范例:[/align]
include('fpdf/chinese.php');

$pdf=new PDF_Chinese();
$pdf->AddGBFont('simhei','黑体');
$pdf->AddGBFont('simkai','楷体_GB2312');
$pdf->Open();
$pdf->AddPage();

$pdf->SetFont('simhei','',20);
$pdf->SetXY(15,24);
$pdf->Write(10,'显示黑体字');

$pdf->SetFont('simkai','',20);
$pdf->SetXY(15,54);
$pdf->Write(10,'显示楷体字');
$pdf->Output();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: