使用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实现的功能是显示8条基色色带
Oct 09 PHP
php合并数组array_merge函数运算符加号与的区别
Oct 31 PHP
网页游戏开发入门教程三(简单程序应用)
Nov 02 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
Apr 13 PHP
php实现文件下载(支持中文文名)
Dec 04 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
Aug 21 PHP
Redis构建分布式锁
Mar 28 PHP
PHP多进程编程实例详解
Jul 19 PHP
php源码的使用方法讲解
Sep 26 PHP
php解决约瑟夫环算法实例分析
Sep 30 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 PHP
laravel开发环境homestead搭建过程详解
Jul 03 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
基于php验证码函数的使用示例
2013/05/03 PHP
利用yahoo汇率接口实现实时汇率转换示例 汇率转换器
2014/01/14 PHP
3种php生成唯一id的方法
2015/11/23 PHP
js或css文件后面跟参数的原因说明
2010/01/09 Javascript
javascript 精粹笔记
2010/05/09 Javascript
广泛收集的jQuery拖放插件集合
2012/04/09 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
基于JS实现数字+字母+中文的混合排序方法
2016/06/06 Javascript
纯js实现手风琴效果代码
2020/04/17 Javascript
jquery.cookie.js的介绍与使用方法
2017/02/09 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
2017/08/11 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
2017/08/25 Javascript
vue中keep-alive的用法及问题描述
2018/05/15 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
jquery实现的分页显示功能示例
2019/08/23 jQuery
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
Python和JavaScript间代码转换的4个工具
2016/02/22 Python
举例讲解Python面向对象编程中类的继承
2016/06/17 Python
python3实现网页版raspberry pi(树莓派)小车控制
2020/02/12 Python
python+selenium+chromedriver实现爬虫示例代码
2020/04/10 Python
在python中对于bool布尔值的取反操作
2020/12/11 Python
瑞典灯具和照明网上商店:Lamp24.se
2018/03/17 全球购物
DNA基因检测和分析:23andMe
2019/05/01 全球购物
机械专业应届生求职信
2013/09/21 职场文书
最新奶茶店创业计划书范文
2014/02/08 职场文书
餐厅经理岗位职责范本
2014/02/17 职场文书
2014年基层党组织公开承诺书
2014/03/29 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
2015年安全生产工作总结范文
2015/04/02 职场文书
2015年档案管理工作总结
2015/04/08 职场文书
学术会议领导致辞
2015/07/29 职场文书
关于分班的感言
2015/08/04 职场文书
导游词之山东红叶谷
2019/10/31 职场文书