这篇文章主要介绍了使用PHP把HTML生成PDF文件的几个开源项目介绍,本文罗列了FPDF、DomPDF、TCPDF等项目的特点,需要的朋友可以参考下

利用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也可以用于生成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(这个不用解释了,戳开就知道):

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php html小项目,使用PHP把HTML生成PDF文件的几个开源项目介绍相关推荐

  1. 小容量单片机生成pdf文件

    工作上要求使用小容量单片机生成直接生成pdf文件. 经过一段时间的摸索,其中参考了libharu,库太大,不适合在单片机上使用 页参考了与非网上一位前辈的库,占用的RAM太大,不适合小容量单片机, 主 ...

  2. 使用Apache XML项目FOP生成PDF文件(上)

    使用Apache XML项目FOP生成PDF文件(上) 一.前言:在项目中遇到要把文档保存成PDF文件,在网上找了很久之方面的资料,终于发现了Apache的FOP项目有这个功能. 二.适合读者对象:想 ...

  3. springboot项目使用beetl模板引擎生成word文件

    一.详情可查看官网 1.官方网址:beetl官网 一.简单测试beetl生成word文件 1.在springboot项目中添加beetl的依赖 <dependency><groupI ...

  4. 项目总结23:POI生成Excel文件并浏览器导出

    项目总结23:POI生成Excel文件并浏览器导出 具体的逻辑可以参考Controller层的注释 代码1-前端html <button onclick="downLoad()&quo ...

  5. java 开源 文件同步_利用开源项目使discus论坛与java应用同步登录和注册

    最近做了一个资源库系统的项目,老师说可以搭建开源论坛替代自己开发社交模块(评论啊,反馈啊)来减轻负担,甚至提到了要给每个资源开一帖的功能..使我十分怀疑到底是减轻负担还是增加负担...不过怀疑归怀疑, ...

  6. GitHub 近两万 Star,可一键生成前后端代码,这个开源项目有点强

    项目介绍: JeecgBoot 是一款基于代码生成器的低代码开发平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus ...

  7. 开源项目推荐:本人收集的有关Qt的GitHub/Gitee开源项目(★精品收藏★)

    尊重作者,支持原创,如需转载,请附上原地址:开源项目推荐:Qt有关的GitHub/Gitee开源项目(★精品收藏★)_$firecat全宏的代码足迹$-CSDN博客_qt开源项目https://lib ...

  8. 开源项目贡献者_如何吸引新的贡献者加入您的开源项目

    开源项目贡献者 by Shubheksha 通过Shubheksha 如何吸引新的贡献者加入您的开源项目 (How to attract new contributors to your open s ...

  9. itext java_iText - PDF类库 - 组件类库 - JAVA开源项目 - 开源吧

    相关开源项目 Connla:Connla是一个Java包用于创建可导成TXT,CSV,HTML,XHTML,XML,PDF和XLS等格式的数据集. FOP:FOP是由James Tauber发起的一个 ...

最新文章

  1. python字典可以切片吗_7.map(感觉跟python中的字典有点像)数组,切片(make)傻傻分不清楚,多多指点...
  2. Gartner:移动设备在工作场所中的使用尚未成熟
  3. php session_start() 非常慢,php – session_start似乎很慢(但是有时候)
  4. js条件语句初步练习
  5. 1-3.监督学习(supervised learning)
  6. 使用两个队列实现一个栈
  7. supervisor监控php进程程序,详解Supervisor进程守护监控(转)
  8. 复杂的权限按钮控制优化
  9. mysql和php环境_php环境搭建wampserver、Apache、Mysql和php
  10. 关于fsockopen pfsockopen函数被禁用的解决方法
  11. 应用内评分_评分者信度
  12. webservice 安全性 对外_WebService安全性的几种实现方法【身份识别】
  13. Bailian4121 股票买卖【最值】
  14. [H5-Compress-Image]利用canvas实现 javascript 图片压缩处理_基于requirejs模块化的代码实现...
  15. U盘未识别驱动器需要格式化
  16. c语言ic卡读写软件,IC卡读写工具|ACR122U写卡软件下载 v3.7 免费版_最火软件站
  17. 数电实验三:组合逻辑电路分析与设计
  18. TPS54231DR IC REG BUCK ADJUSTABLE 2A 8SOIC
  19. 【Qt实战派学习群】 建立啦!
  20. git 分支操作总结

热门文章

  1. 提升研发效能没那么难,看优酷的最佳实践!
  2. 再获全球顶会ASPLOS认可:阿里云神龙凭什么打破物理机神话
  3. 隔离是否有效?北大面向新冠疫情的数据可视化分析与模拟预测
  4. 天猫回应“双11数据造假”:已启动司法流程;小米折叠手机专利曝光;ASP.NET感染勒索软件|极客头条...
  5. 台前与幕后的 5G 战争
  6. 如何彻底搞懂面向 Web 开发者的正则表达式?
  7. Stack Overflow 遭黑客入侵;中国首条 5G 覆盖地铁诞生;VS Code 1.34 发布!| 极客头条...
  8. 为什么说要注销 QQ 的,都是君子呢?
  9. 看动画轻松理解「Trie树」
  10. Java、JS、C++ 依然强势,Go、Kotlin 等新语言为何不能破局?