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 解决旧系统 查出所有数据分页的类
Aug 27 PHP
如何解决CI框架的Disallowed Key Characters错误提示
Jul 05 PHP
php实现文件下载实例分享
Jun 02 PHP
ThinkPHP中U方法的使用浅析
Jun 13 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
Jun 27 PHP
PHP CURL 内存泄露问题解决方法
Feb 12 PHP
PHP的命令行命令使用指南
Aug 18 PHP
四个PHP非常实用的功能
Sep 29 PHP
Yii框架表单模型和验证用法
May 20 PHP
PHP环境搭建的详细步骤
Jun 30 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
Oct 15 PHP
PHP 构造函数和析构函数原理与用法分析
Apr 21 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
德生BCL3000的电路分析和打磨
2021/03/02 无线电
[原创]PHP字符串中插入子字符串方法总结
2016/05/06 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
锋利的jQuery 要点归纳(一) jQuery选择器
2010/03/21 Javascript
JSDoc 介绍使用规范JsDoc的使用介绍
2011/02/12 Javascript
jqGrid jQuery 表格插件测试代码
2011/08/23 Javascript
JQuery入门—编写一个简单的JQuery应用案例
2013/01/03 Javascript
JavaScript将数据转换成整数的方法
2014/01/04 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
深入理解JavaScript中Ajax
2016/08/02 Javascript
BootStrap与Select2使用小结
2017/02/17 Javascript
jQuery完成表单验证的实例代码(纯代码)
2017/09/30 jQuery
layer.confirm取消按钮绑定事件的方法
2018/08/17 Javascript
js array数组对象操作方法汇总
2019/03/18 Javascript
微信小程序制作扭蛋机代码实例
2019/09/24 Javascript
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
2020/04/21 Javascript
vue使用vant中的checkbox实现全选功能
2020/11/17 Vue.js
python获得图片base64编码示例
2014/01/16 Python
python的dict,set,list,tuple应用详解
2014/07/24 Python
Python中字符串的修改及传参详解
2016/11/30 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
2018/09/04 Python
彻底理解Python中的yield关键字
2019/04/01 Python
Python 导入文件过程图解
2019/10/15 Python
如何基于Django实现上下文章跳转
2020/09/16 Python
Python实现淘宝秒杀功能的示例代码
2021/01/19 Python
基于PyTorch中view的用法说明
2021/03/03 Python
优秀演讲稿范文
2013/12/29 职场文书
培训专员岗位职责
2014/02/26 职场文书
校庆活动策划方案
2014/06/05 职场文书
群众路线教育实践活动批评与自我批评
2014/09/15 职场文书
工作失误检讨书(3篇)
2014/10/11 职场文书
大学自主招生自荐信(2016精选篇)
2016/01/28 职场文书
创业计划书之韩国烧烤店
2019/09/19 职场文书
为什么mysql字段要使用NOT NULL
2021/05/13 MySQL
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android