PHP中使用TCPDF生成PDF文档实例
实际工作中,我们要使用php动态的创建pdf文档,目前有许多开源的php创建pdf的类库,今天我给大家来介绍一款优秀的pdf库,它就是tcpdf,tcpdf是一个用于快速生成pdf文件的php5函数包。tcpdf基于fpdf进行扩展和改进,增强了实用功能。
特性
tcpdf具有以下特性:
1、支持页面页脚;
2、支持html标签代码;
3、支持jpg/png/gif/svg图形图像;
4、支持表格;
5、支持中文字符;(有些pdf类不支持中文或者处理中文相当麻烦)
6、自动分页,自动页码,等等。
如何使用
您可以从tcpdf官网获取最新版本:http://www.tcpdf.org。官网提供了几十个示例以及说明文档,下载解压后一定要注意文件路径,如何使用tcpdf,可以从以下5个步骤完成:
1、require_once导入tcpdf.php文件及相关配置信息;
2、实例化tcpdf;
3、设置pdf文档的格式,包括文档信息、页眉、页尾、字体、外间距、图片边框、分页等;
4、导入pdf文档的内容,可以是单行或多行简单字符串,也可以html格式的字符串等;
5、输出pdf文档。
代码示例:
require_once('tcpdf.php');
//实例化
$pdf = new tcpdf('p', 'mm', 'a4', true, 'utf-8', false);
// 设置文档信息
$pdf->setcreator('helloweba');
$pdf->setauthor('yueguangguang');
$pdf->settitle('welcome to helloweba.com!');
$pdf->setsubject('tcpdf tutorial');
$pdf->setkeywords('tcpdf, pdf, php');
// 设置页眉和页脚信息
$pdf->setheaderdata('logo.png', 30, 'helloweba.com', '致力于web前端技术在中国的应用',
array(0,64,255), array(0,64,128));
$pdf->setfooterdata(array(0,64,0), array(0,64,128));
// 设置页眉和页脚字体
$pdf->setheaderfont(array('stsongstdlight', '', '10'));
$pdf->setfooterfont(array('helvetica', '', '8'));
// 设置默认等宽字体
$pdf->setdefaultmonospacedfont('courier');
// 设置间距
$pdf->setmargins(15, 27, 15);
$pdf->setheadermargin(5);
$pdf->setfootermargin(10);
// 设置分页
$pdf->setautopagebreak(true, 25);
// set image scale factor
$pdf->setimagescale(1.25);
// set default font subsetting mode
$pdf->setfontsubsetting(true);
//设置字体
$pdf->setfont('stsongstdlight', '', 14);
$pdf->addpage();
$str1 = '欢迎来到helloweba.com';
$pdf->write(0,$str1,'', 0, 'l', true, 0, false, false, 0);
//输出pdf
$pdf->output('t.pdf', 'i');
保存后用浏览器打开,如果您的系统安装了pdf阅读器或者使用google chrome直接在浏览器中打开,否则会提示下载生成的pdf。
其他php生成pdf的常用类
fpdf(http://www.fpdf.org/)
html2pdf(http://html2pdf.seven49.net/)
html2pdf能够把一个html文本转换成一个打印机友好的pdf文件。这个php脚本构建在fpdf php脚本之上。
tcpdf(http://tcpdf.sourceforge.net/)
tcpdf是一个用于快速生成pdf文件的php5函数包。tcpdf基于fpdf进行扩展和改进。支持utf-8,unicode,html和xhtml。
html2ps(http://user.it.uu.se/~jan/html2ps.html)
html2ps 能够把带有图片,复杂表格(包含rowspan/colspan) ,layer/div和css样式的html转换成postscript与pdf。 html2ps对css2.1支持非常好,并且很好地兼容不正确的hmtl。它甚至能够转换几乎是采用css设计的网站如msn.com。
html_topdf(http://www.rustyparts.com/pdf.php)
html_topdf能够把任何html文档转换成在任何平台和打印机下界面格式都一样的pdf文档。它包括支持图片转换,使用样式表来定制pdf文件和错误处理。
cpdfwriter(http://freshmeat.net/projects/cpdfwriter/)
cpdfwriter是一个能够输出pdf文档的php5 class。基于tcpdf,fpdf和其它相关脚本。
dompdf(http://www.digitaljunkies.ca/dompdf/)
dompdf是一个html到pdf的转换工具。它的核心是一个遵循大部份css2.1样式的rendering引擎。dompdf采用样式驱动, 它能够下载并读取外部样式,整个样式标签和单个html元素的样式属性。它同样支持目当大部份html属性。
推荐阅读