译文:使用PHP在html中生成PDF

译者:dwqs

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

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

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

php输出PDF的文件流_怎么用PHP在HTML中生成PDF文件相关推荐

  1. java递归删除文件夹_如何使用递归删除Java中的目录/文件夹

    java递归删除文件夹 Earlier we learned how to create a file in java and how to delete a file in java. Here w ...

  2. python 批量增加文件前缀_用python批量提取视频中的音频文件

    安装MoviePy pip3 install MoviePy 安装成功后需要打开MoviePy所在的文件夹 C:PythonLibsite-packagesmoviepy 打开config_defau ...

  3. java 写文件 权限不够_教你解决Linux系统中JAVA创建文件后权限不足的问题

    在作业中,项目使用文件上传. 这个功能很常见. 当Kai Ge今天更改其官方帐户时,他遇到了一个问题,即无法访问下载的文件,也无法通过浏览器访问该文件. 它是怎么发生的? 经过许多问题之后,事实证明这 ...

  4. vector与结构体联合使用 在磁盘中生成.txt 文件

    一下纯属个人总结.欢迎拍砖!谢谢 我意思到以练促进学习C++编程基础是很有帮助的 这篇文章是我为了熟悉掌握文件流和STL中的vector以及结构体三个只知识点所写的代码: #include <s ...

  5. android 构造xml,android 中生成xml文件

    在Android中生成xml文件真的很简单,下面提供2中方法,一种是通过String写入到文件,另外一种是通过XML 的 XmlSerializer. 以后遇到Android写xml内容就不会困惑了 ...

  6. sd卡有多个android文件夹,android - 如何adb拉出SD卡中存在的文件夹的所有文件

    android - 如何adb拉出SD卡中存在的文件夹的所有文件 我的SD卡中有一个文件夹:/mnt/sdcard/Folder1/Folder2/Folder3/*.jpg Folder1和Fold ...

  7. java中生成pdf,插入图片,页眉、页脚、表格

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java中生成pdf,插入图片,页眉.页脚.表格 import com.lowagie.text.*; import com.lowagie.te ...

  8. R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称、将数据写入Excel文件新的表单(sheet)中、将文件保存为xls文件格式(而不是xlsx)

    R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称.将数据写入Excel文件新的表单(sheet)中.将文件保存为xls文件格式(而不是xlsx) 目录

  9. python在内存中生成Zip文件!

    python在内存中生成Zip文件! - 天真的好蓝啊 - 博客园 python在内存中生成Zip文件! import zipfile import StringIO class MemoryZipF ...

最新文章

  1. 借东西的小人阿莉埃蒂
  2. 储能系统进入数据中心是大势所趋
  3. python 单点登录_清华园计算机系联合推出的Java+Python视频曝光
  4. 图片视频预览开启和关闭脚本 Xp
  5. 推荐一款强大的SQL Internal 查看工具InternalsViewer
  6. node.js 报错Error: ENFILE: file table overflow...ENFILE: file table overflow, open...
  7. POJ 2457 BFS
  8. SSH远程登陆配置sshd_config文件详解
  9. 如何画指数函数图像探讨其函数性质
  10. CLUSTERDOWN Hash slot not served 记录一次线上redis插槽问题
  11. Tik Tok账号被封了怎么办?
  12. Method类及其用法
  13. 「数据架构」数据模型,数据字典,数据库模式 和ERD的比较
  14. 翼支付杯大数据建模大赛-季军方案
  15. 三段论_五项基本原则
  16. C PrimerPlus 第五章程序示例
  17. 陪你云sdk用户指南
  18. 视频深度学习:行为识别指南
  19. 伊鳗:让你每天获得持续客源的精准引流方法,只是做好这几步
  20. 考研小助手 Mathematica 麦酱教你算不定积分 wolfram alpha

热门文章

  1. 领域驱动设计,让程序员心中有码(四)
  2. Entity Framework Core延期及弃用的特性
  3. 用批处理修复 win10 无法升级的问题
  4. 【ArcGIS风暴】ArcGIS10.6图斑椭球面积计算原理与方法
  5. Android之解决PC浏览器访问手机服务端取assets目录下的文件页面显示不出来问题
  6. linux之通过tail命令动态跟踪日志文件里面的末尾信息
  7. linux shell之paste合并文件和找到匹配的文件里面替换内容(find和-exec或xargs组合)
  8. C和指针之动态内存分配之输入很多整数进行排序
  9. C++之namespace和::使用总结
  10. Android之ndk之gdb调试