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


Posted in PHP onJuly 01, 2014

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

PHP 相关文章推荐
我的论坛源代码(八)
Oct 09 PHP
php 不同编码下的字符串长度区分
Sep 26 PHP
php设计模式  Command(命令模式)
Jun 17 PHP
PHP实现异步调用方法研究与分享
Oct 27 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
Apr 28 PHP
php实现可以设置中奖概率的抽奖程序代码分享
Jan 19 PHP
微信营销平台系统?刮刮乐的开发
Jun 10 PHP
浅谈PHP值mysql操作类
Jun 29 PHP
Thinkphp框架开发移动端接口(1)
Aug 18 PHP
几行代码轻松实现PHP文件打包下载zip
Mar 01 PHP
php-beanstalkd消息队列类实例分享
Jul 19 PHP
PDO::lastInsertId讲解
Jan 29 PHP
PHP中使用CURL模拟登录并获取数据实例
Jul 01 #PHP
2个比较经典的PHP加密解密函数分享
Jul 01 #PHP
PHP实现生成唯一编号(36进制的不重复编号)
Jul 01 #PHP
ThinkPHP使用smarty模板引擎的方法
Jul 01 #PHP
PHP使用GIFEncoder类处理gif图片实例
Jul 01 #PHP
ThinkPHP模板IF标签用法详解
Jul 01 #PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
Jul 01 #PHP
You might like
桌面中心(一)创建数据库
2006/10/09 PHP
使用session判断用户登录用户权限(超简单)
2013/06/08 PHP
多个PHP中文字符串截取函数
2013/11/12 PHP
php获取域名的google收录示例
2014/03/24 PHP
PHP中SESSION的注销与清除
2015/04/16 PHP
基于jquery的用鼠标画出可移动的div
2012/09/06 Javascript
招聘网站基于jQuery实现自动刷新简历
2015/05/10 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
微信小程序商品详情页规格属性选择示例代码
2017/10/30 Javascript
微信小程序实现笑脸评分功能
2018/11/03 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
使用Python的urllib和urllib2模块制作爬虫的实例教程
2016/01/20 Python
python+Django+apache的配置方法详解
2016/06/01 Python
Python中使用装饰器来优化尾递归的示例
2016/06/18 Python
django解决跨域请求的问题
2018/11/11 Python
python自动化生成IOS的图标
2018/11/13 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
python地震数据可视化详解
2019/06/18 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
2019/11/11 Python
用Python做一个久坐提醒小助手的示例代码
2020/02/10 Python
python topk()函数求最大和最小值实例
2020/04/02 Python
StubHub巴西:购买和出售您的门票
2016/07/22 全球购物
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
英国最大的手表网站:The Watch Hut
2017/03/31 全球购物
TripAdvisor西班牙官方网站:全球领先的旅游网站
2018/01/10 全球购物
前台文员岗位职责
2013/12/28 职场文书
秘书行业自我鉴定范文
2013/12/30 职场文书
普通简短的个人自我评价
2014/02/15 职场文书
老公保证书范文
2014/04/29 职场文书
党支部综合考察材料
2014/05/19 职场文书
先进班组事迹材料
2014/12/25 职场文书
新教师个人总结
2015/02/06 职场文书
2015年幼儿园国庆节活动总结
2015/07/30 职场文书
MySQL之DML语言
2021/04/05 MySQL
原生Javascript+HTML5一步步实现拖拽排序
2021/06/12 Javascript