欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP中使用TCPDF生成PDF文档实例

程序员文章站 2023-11-21 10:47:16
实际工作中,我们要使用php动态的创建pdf文档,目前有许多开源的php创建pdf的类库,今天我给大家来介绍一款优秀的pdf库,它就是tcpdf,tcpdf是一个用于快速生...

实际工作中,我们要使用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属性。