php从底层读取pdf文档-无需PDF函数库支持-fPDF类使用讲解

时间:2024-03-07 18:42:07

一.资源下载:

Adobe Reader 6.0
Adobe 的PDF阅读器6.0版。

本文章所覆盖的技术无法使Adobe Reader 4.0及其之前的版本支持简体中文。

FPDF类

ZIP-Format: http://www.fpdf.org/en/dl.php?v=152&f=zip

TGZ-Format: http://www.fpdf.org/en/dl.php?v=152&f=tgz

一个使用PHP编写的PDF类,不需要PHP的PDF函数库,直接从底层操作。

压缩包中包括:FPDF类、使用文档、演示、创建字体程序。

授权方式:Freeware,可以任意使用、修改、发布。

FPDF扩展类

以下是FPDF的多语言扩展类:

ZIP-Format: http://www.fpdf.org/download/chinese.zip

中文(简/繁体)支持。

ZIP-Format: http://www.fpdf.org/download/japanese.zip

日本语支持。

ZIP-Format: http://www.fpdf.org/download/korean.zip

朝鲜语支持。

字体格式转换程序

ZIP-Format: http://heanet.dl.sourceforge.net/sourceforge/ttf2pt1/ttf2pt1-3.4.4.zip

TGZ-Format: http://heanet.dl.sourceforge.net/sourceforge/ttf2pt1/ttf2pt1-3.4.4.tgz

Windows-Binary: http://www.fpdf.org/fr/dl.php?id=22

“TTF2PT1”是一个将TureType(.ttf)字体转换为Type1(.afm)字体的工具。

ZIP-Format: http://heanet.dl.sourceforge.net/sourceforge/ttf2pt1/ttf2pt1-chinese-3.4.0.zip

TGZ-Format: http://heanet.dl.sourceforge.net/sourceforge/ttf2pt1/ttf2pt1-chinese-3.4.0.tgz

这是”TTF2PT1”的中文语言支持。

ZIP-Format: http://www.fpdf.org/fr/dl.php?id=34

“PFM2AFM”是一个将PFM(.pfb)字体转换为Type1(.afm)字体的工具。

下面讲的内容都将与TureType字体有关,如果想使用PFM字体就自己研究吧,应该很简单。

二.安装:

Windows
FPDF类及其扩展类:

解压缩FPDF类到C:\www\fpdf目录,然后将其扩展类中的文件复制C:\www\fpdf目录。

TTF2PT1:

将Windows二进制版解压缩到C:\ttf2pt1目录,将中文支持包中的ugb.map(或ugbk.map)复制到C:\ttf2pt1目录。

Linux/UNIX
FPDF类及其扩展类:

解压缩FPDF类到/var/html/www/fpdf目录,然后将其扩展类中的文件复制/var/html/www/fpdf目录。

TTF2PT1:

将源代码解压缩到/tmp/ttf2pt1目录。

  1. cd /tmp/ttf2pt1
  2. make
  3. make install
  4. make uninstall (卸载)

将中文支持包中的ugb.map(或ugbk.map)复制到/usr/local/ttf2pt1/map(可能是这个,其实复制到哪里无所谓。)

三.转换字体格式

Windows

1.安装字体

  1. C:\ttf2pt1\ttf2pt1.exe –a –L ugb.map+a1 C:\Windows\Fonts\FZCQJW.ttf FZCQJW

上面以方正粗倩简体为例,将会生成C:\ttf2pt1\FZCQJW.afm和C:\ttf2pt1\FZCQJW.t1a两个文件,我们需要将TTF字体(FZCQJW.ttf)和AFM字体(FZCQJW.afm)复制到C:\www\fpdf\font目录。

2.引入文件

  1. <?php
  2. require(\'./makefont/makefont.php\');
  3. MakeFont(\'./FZCQJW.ttf\', \'./FZCQJW.afm\');
  4. ?>

将以上代码保存到C:\www\fpdf\font\makefont.php文件并运行。

将会生成FZCQJW.php和FZCQJW.z两个文件,如果.z文件不存在需要手动将FZCQJW.ttf CopyTo FZCQJW.z。

删除FZCQJW.ttf和makefont.php。

Linux/UNIX
类似Windows的方式,自己琢磨一下吧,很简单这里就不详细说了。

四.开始!创建PDF!

Windows

  1. <?php
  2. require(\'chinese.php\');
  3. $pdf=new PDF_Chinese();
  4. $pdf->AddGBFont(\'FZCQJW\', \'方正粗倩简体\');
  5. $pdf->Open();
  6. $pdf->AddPage();
  7. $pdf->SetFont(\'FZCQJW\',\'\',20); $pdf->Write(10,\'测试中文还有英文\');
  8. $pdf->SetFont(\'FZCQJW\',\'\',10); $pdf->Write(10,\' BY [方正粗倩简体]\');
  9. $pdf->SetFont(\'FZCQJW\',\'\',10); $pdf->Write(10,"\n中文 English");
  10. $pdf->Output();
  11. ?>

将以上代码保存到C:\www\fpdf\test_chinese.php文件并运行,如果安装了Adobe Reader 6.0将会在浏览器中直接显示,否则可以下载后再打开。

Linux/UNIX
类似Windows的方式,很简单这里就不详细说了。

 

原作: http://www.uedsc.com/?p=1161