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 相关文章推荐
几个php应用技巧
Mar 27 PHP
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
Jul 09 PHP
PHP游戏编程25个脚本代码
Feb 08 PHP
用php的ob_start来生成静态页面的方法分析
Mar 09 PHP
php实现上传图片生成缩略图示例
Apr 13 PHP
PHP缓冲区用法总结
Feb 14 PHP
php写app接口并返回json数据的实例(分享)
May 20 PHP
PHP实现的各类hash算法长度及性能测试实例
Aug 27 PHP
CI框架(CodeIgniter)操作redis的方法详解
Jan 25 PHP
PHP实现生成推广海报的方法详解
Mar 14 PHP
php常用字符串查找函数strstr()与strpos()实例分析
Jun 21 PHP
禁止直接访问php文件代码分享
May 05 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
php中随机显示图片的函数代码
2011/06/23 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
2016/04/01 PHP
php多进程模拟并发事务产生的问题小结
2018/12/07 PHP
详解JavaScript函数绑定
2013/08/18 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
学习vue.js条件渲染
2016/12/03 Javascript
简单实现JS计算器功能
2016/12/21 Javascript
Jquery树插件zTree实现菜单树
2017/01/24 Javascript
js实现日历的简单算法
2017/01/24 Javascript
javascript实现多张图片左右无缝滚动效果
2017/03/22 Javascript
jquery加载单文件vue组件的方法
2017/06/20 jQuery
ES6 Promise对象的含义和基本用法分析
2019/06/14 Javascript
Layui选项卡制作历史浏览记录的方法
2019/09/28 Javascript
JS如何生成随机验证码
2020/03/02 Javascript
vue 组件基础知识总结
2021/01/26 Vue.js
[38:21]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS Newbee
2018/03/31 DOTA
python 实现一个贴吧图片爬虫的示例
2017/10/12 Python
python更改已存在excel文件的方法
2018/05/03 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
2019/03/14 Python
python实现随机漫步方法和原理
2019/06/10 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
2019/09/26 Python
使用python求斐波那契数列中第n个数的值示例代码
2020/07/26 Python
详解向scrapy中的spider传递参数的几种方法(2种)
2020/09/28 Python
pandas将list数据拆分成行或列的实现
2020/12/13 Python
MyBag中文网:英国著名的时尚包袋电商零售网站
2020/07/31 全球购物
const和static readonly区别
2013/05/20 面试题
技校毕业生自荐信
2014/06/03 职场文书
幼儿园爱国卫生月活动总结
2014/06/30 职场文书
2014乡镇党政班子四风问题思想汇报
2014/09/14 职场文书
四风对照检查材料范文
2014/09/27 职场文书
党的群众路线教育实践活动整改落实情况自查报告
2014/10/28 职场文书
2015年宣传部个人工作总结
2015/05/14 职场文书
2016年班主任新年寄语
2015/08/18 职场文书