使用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 相关文章推荐
php5 pdo新改动加载注意事项
Sep 11 PHP
php使用curl检测网页是否被百度收录的示例分享
Jan 31 PHP
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
Aug 18 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
Oct 29 PHP
php从给定url获取文件扩展名的方法
Mar 14 PHP
PHP贪婪算法解决0-1背包问题实例分析
Mar 23 PHP
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
Mar 25 PHP
老版本PHP转义Json里的特殊字符的函数
Jun 08 PHP
PHP读取mssql json数据中文乱码的解决办法
Apr 11 PHP
PHP图像识别技术原理与实现
Oct 27 PHP
PHP实现的折半查找算法示例
Dec 19 PHP
PHP 多任务秒级定时器的实现方法
May 13 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实现图片等比例缩放代码
2015/07/23 PHP
PHP处理CSV表格文件的常用操作方法总结
2016/07/01 PHP
PHP实现的ID混淆算法类与用法示例
2018/08/10 PHP
javascript document.images实例
2008/05/27 Javascript
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
Javascript匿名函数的一种应用 代码封装
2010/06/27 Javascript
异步加载script的代码
2011/01/12 Javascript
Bootstrap学习笔记之css组件(3)
2016/06/07 Javascript
详解小程序如何改变onLoad的执行时机
2019/11/01 Javascript
JS如何实现动态添加的元素绑定事件
2019/11/12 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
2020/02/16 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
[53:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第三场 6.2
2018/06/03 DOTA
9种python web 程序的部署方式小结
2014/06/30 Python
Django静态资源URL STATIC_ROOT的配置方法
2014/11/08 Python
利用python生成一个导出数据库的bat脚本文件的方法
2016/12/30 Python
完美解决Python2操作中文名文件乱码的问题
2017/01/04 Python
Python使用修饰器执行函数的参数检查功能示例
2017/09/26 Python
Python模块文件结构代码详解
2018/02/03 Python
python实现简单http服务器功能
2018/09/17 Python
python判断字符串或者集合是否为空的实例
2019/01/23 Python
python实现随机漫步方法和原理
2019/06/10 Python
python错误调试及单元文档测试过程解析
2019/12/19 Python
python 消除 futureWarning问题的解决
2019/12/25 Python
利用python中集合的唯一性实现去重
2020/02/11 Python
python logging.basicConfig不生效的原因及解决
2020/02/20 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
2020/09/03 Python
HTML5拖拉上传文件的简单实例
2017/01/11 HTML / CSS
优秀本科生求职推荐信
2014/02/24 职场文书
2014年党员创先争优承诺书
2014/05/29 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
2014年大学生党员评议表自我评价
2014/09/20 职场文书
律师授权委托书范本
2014/10/07 职场文书
优秀小学生事迹材料
2014/12/26 职场文书
2015年留守儿童工作总结
2015/05/22 职场文书
Python爬虫实战之爬取京东商品数据并实实现数据可视化
2021/06/07 Python