要在PHP项目中添加生成PDF文档的功能,开源类库TCPDF无疑是最好的选择。个人感觉它最大的优点是能将HTML格式的字符串直接用于生成PDF,也就是说能够通过HTML来定好文档的格式和内容,然后用TCPDF导出PDF文件。
TCPDF的官网如下:
下载下来的TCPDF目录结构如下:
其中:
cache目录:存放了一些用于生成PDF的不同格式的字符串文件(供examples下的示例使用)
config目录:TCPDF的配置文件目录,定义了TCPDF所需要使用的常量
doc目录:在浏览器中访问doc路径会跳转到TCPDF的官网
examples目录:TCPDF的示例,包括65个不同操作的demo
fonts目录:存放字体文件
images目录:存放图像文件
tcpdf.php文件:TCPDF的主类,所有的主要函数都在这个文件中
看完TCPDF自带的65个examples之后,就能完全掌握它的使用方法了。大体可以分为如下5个步骤:
1. require_once导入tcpdf.php文件和config/lang/目录的相应语系
2. 实例化TCPDF
3. 设置PDF文档的格式,包括文档信息、页眉、页尾、字体、外间距、图片边框、分页等
4. 导入PDF文档的内容,可以是单行或多行简单字符串,也可以HTML格式的字符串等
5. 输出PDF文档
TCPDF开源项目非常活跃,基本上每隔几天就会推出新版本的TCPDF包,所以新发现的bug一般都会在短时间内得到处理。本人曾发现了其中HTML颜色解析的一个bug,提交之后,在第二天发布的新版本中就得到了解决。
另外,如下链接中讲解了如何制作fonts目录下没有的中文字体的方法:
http://www.yinzhili.com/2009/08/using-tcpdf-to-generate-pdf-in-chinese.html