使用PHP把HTML生成PDF文件的几个开源项目介绍


Posted in PHP onNovember 17, 2014

利用PHP编码生成PDF文件是一个非常耗时的工作。在早期,开发者使用PHP并借助FPDF来生成PDF文件。但是如今,已经有很多函数库可以使用了,并且能够从你提供的HTML文件生成PDF文档。这让原先耗时的工作变得非常简单了。

FPDF是很早就被使用的,其特点如下:

FPDF

FPDF是一个允许使用纯PHP生成PDF文档的PHP类,换句话说,没有使用PDFlib 函数库。FPDF中的F代表免费和自由:你可以在任何情况下使用,并且支持自定义,来满足你特定的需求

特点:

1、可以选择单元、页面格式和边距
2、可以管理页眉和页脚
3、自动分页
4、自动换行和文本对齐
5、支持图片(JPEG,PNG,gif)
6、色彩丰富,支持链接

顺便也介绍一些可以直接从HTML生成PDF的函数库。

DomPDF

domPDF将HTML转换为PDF。DomPDF遵循CSS2.1的HTML布局,它是用PHP编写的渲染引擎。DomPDF以样式为主导:它会下载并读取外链样式表,内联样式和HTML元素的style属性值。并且还支持大部分的HTML可见属性。

特点:

1、处理大部分CSS2.1和少许CSS3属性,包括@import, @media & @page 规则
2、支持大部分HTML 4.1的可见属性
3、支持外部样式表,包括本地或者http/ftp链接的(通过fopen-wrappers)
4、支持复杂的表结构,包括行和列的span,separate & collapsed border models和独立的cell样式
5、支持图片(gif, png, bmp & jpeg)
6、不依赖于其他的PDF函数库

TCPDF

TCPDF也可以用于生成PDF文档,并且它是一个开源的PHP类库。
TCPDF项目开始于2002年,现在已经被成千上万的人自由使用。TCPDF is a Free Libre Open Source Software (FLOSS).

特点:

1、基本功能不依赖于其他PDF函数库
2、标准页面格式、支持页面格式自定义、边距自定义和单元计量
3、支持UTF-8编码和文字方向从右到左的语言。
4、支持TrueTypeUnicode, OpenTypeUnicode, TrueType, OpenType, Type1 and CID-0等字体
5、支持字体子集,并提供方法发布一些XHTML + CSS code, Javascript and Forms
6、支持图片和图形的转换
7、支持页面压缩(需要php-zlib扩展)
8、自动管理页眉和页脚

更多特点请戳:more

从原文的评论列表中,我也搜罗了相关的站点和开源项目:

wkhtmltopdf(评论说是HTML生成PDF的标准了):
https://code.google.com/p/wkhtmltopdf/
https://github.com/mreiferson/php-wkhtmltox

pdfservices(这个不用解释了,戳开就知道):
http://www.pdfservices.net/

PHP 相关文章推荐
用PHP编程开发“虚拟域名”系统
Oct 09 PHP
PHP4实际应用经验篇(9)
Oct 09 PHP
用php实现的下载css文件中的图片的代码
Feb 08 PHP
PHP中数组定义的几种方法
Sep 01 PHP
PHP自定session保存路径及删除、注销与写入的方法
Nov 18 PHP
php使用array_search函数实现数组查找的方法
Jun 12 PHP
smarty中常用方法实例总结
Aug 07 PHP
PHP文件缓存类实现代码
Oct 26 PHP
php利用fsockopen GET/POST提交表单及上传文件
May 22 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
Thinkphp 框架扩展之应用模式实现方法分析
Apr 27 PHP
PHP控制循环操作的时间
Apr 01 PHP
php检测数组长度函数sizeof与count用法
Nov 17 #PHP
php中filter_input函数用法分析
Nov 15 #PHP
getimagesize获取图片尺寸实例
Nov 15 #PHP
php中rename函数用法分析
Nov 15 #PHP
php格式输出文件var_export函数实例
Nov 15 #PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
Nov 15 #PHP
php函数与传递参数实例分析
Nov 15 #PHP
You might like
从一个不错的留言本弄的mysql数据库操作类
2007/09/02 PHP
PHP 学习路线与时间表
2010/02/21 PHP
ThinkPHP3.2.2的插件控制器功能简述
2014/07/09 PHP
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
JavaScript中实现块作用域的方法
2010/04/01 Javascript
js拆分字符串并将分割的数据放到数组中的方法
2015/05/06 Javascript
js实现的xml对象转json功能示例
2016/12/24 Javascript
js date 格式化
2017/02/15 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
2017/07/05 jQuery
JavaScript编程设计模式之构造器模式实例分析
2017/10/25 Javascript
vue项目打包部署_nginx代理访问方法详解
2018/09/20 Javascript
JS实现倒序输出的几种常用方法示例
2019/04/13 Javascript
Vue + Elementui实现多标签页共存的方法
2019/06/12 Javascript
JavaScript获取当前url路径过程解析
2019/12/27 Javascript
Python的Flask框架中web表单的教程
2015/04/20 Python
基于Python的XSS测试工具XSStrike使用方法
2017/07/29 Python
Python函数返回不定数量的值方法
2019/01/22 Python
Python2.7实现多进程下开发多线程示例
2019/05/31 Python
python中对数据进行各种排序的方法
2019/07/02 Python
python+Django实现防止SQL注入的办法
2019/10/31 Python
在flask中使用python-dotenv+flask-cli自定义命令(推荐)
2020/01/05 Python
python numpy 矩阵堆叠实例
2020/01/17 Python
Vision Directa智利眼镜网:框架眼镜、隐形眼镜和名牌太阳眼镜
2016/11/23 全球购物
伦敦眼门票在线预订:London Eye
2018/05/31 全球购物
学生请假条格式
2014/04/11 职场文书
学生期末评语大全
2014/04/30 职场文书
消防安全标语
2014/06/07 职场文书
应用心理学专业求职信
2014/08/04 职场文书
学生会干部自我鉴定2014
2014/09/18 职场文书
班主任自我评价范文
2015/03/11 职场文书
2015年实习班主任工作总结
2015/04/23 职场文书
爱国主义电影观后感
2015/06/18 职场文书
高中开学感言
2015/08/01 职场文书
送给小学生的暑假礼物!小学生必背99首古诗
2019/07/02 职场文书
MySQL表字段时间设置默认值
2021/05/13 MySQL