FPDF中文应用攻略 【转】

首先介绍需要用到的软件包:
  1、FPDF V 1.6(fpdf16.zip),这是目前看到的最新版,2008年8月3日的;
  2、FPDF 中文包(chinese.zip),似乎是TW的同胞搞的,可以对繁简体进行支持;
  3、TTF2TP1(ttf2pt1.zip),字体格式转换程序,这里是WIN系统用的可执行文件;
  4、TTF2TP1中文包(ttf2pt1-chinese-3.4.0.zip),似乎其中是码表。

  先来制作中文字体,把TTF2TP1里的ttf2tp1.exe解压到一个易于操作的文件夹里,因为要使用WIN的命令行工具,这里就用“C:/ttf”了。然后把TTF2TP1中文包里的ugbk.map也解压到这个目录下。

  从你的WIN字体文件夹中找到你想要处理的字体,这里用的是黑体(simhei.ttf),也复制到这个文件夹下吧。

  在命令行工具里运行C:/ttf/ttf2pt1.exe -a -L ugbk.map+a1 simhei.ttf simhei,特别提醒:命令里的所有字符都是半角的,网上某人转载戒烟如你上次的文章时把两个横线转成了全角,有人运行时提示错误,建议最好不要复制,自己用键盘输入

  经过一番艰苦的运行,C:/ttf文件夹里多出了simhei.afm和simhei.t1a两个文件,后面一个没用了,保留simhei.ttf和simhei.afm,一会儿用。

  解压FPDF压缩包,用到的是其中的fpdf.php文件和/font/makefont文件夹,把他们解压或上传到你的服务器目录里吧,如果用的是LINUX的服务器,记得把/font文件夹属性改为777,生成的字体文件要写入到这里。

  把FPDF中文包里的chinese.php和ex.php两个文件解压或上传到FPDF的根目录下。

  把刚才提到的simhei.ttf和simhei.afm复制或上传到/font文件夹内。

  在/font文件夹里建立一个文件,形如:

PHP代码
  1. <?php   
  2.     require('./makefont/makefont.php');   
  3.     makeFont('./simhei.ttf''./simhei.afm');   
  4. ?>  

  使用浏览器浏览该文件,屏幕上出现N多东西,不管它,只要看到又生成了两个文件simhei.php和simhei.z,制作字体的工作就完成了,删掉simhei.ttf。做多个字体重复上面的工作就可以。所有的字体做完之后,可以把/font/makefont.php文件和/font/makefont文件夹给删除掉。用LINUX服务器的朋友记得把/font文件夹的属性给改回来

  让我们来修改/ex.php文件,或者干脆叫重新编写这个文件:

PHP代码
  1. <?php
  2. require ('chinese.php');
  3.  
  4. $pdf = new PDF_Chinese ();
  5. $pdf -> AddGBFont ('simhei', '黑体');
  6. $pdf -> Open ();
  7. $pdf -> AddPage ();
  8. $pdf -> SetFont ('simhei', '', 20);
  9. $pdf -> Write (10, '我们都是黑体字 by hubing.info');
  10. $pdf -> Output();
  11. ?>

  用浏览器看一下,黑体出来了吧?不过效果似乎不太让人满意,中文没问题,英文间距出问题了,是不是?

大小: 43.86 K
尺寸: 500 x 173
浏览: 128 次
点击打开新窗口浏览全图

  具体原因在于chinese.php文件里,戒烟如你注意到里面有个变量叫$GB_widths,似乎是定义英文字符宽度的,戒烟如你经过一番调试,把所有英文、字符宽度全部改成了480,于是就有了下面的测试效果:

大小: 145.02 K
尺寸: 500 x 465
浏览: 133 次
点击打开新窗口浏览全图

  这就比较满意了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值