php输出PDF的文件流_怎么用PHP在HTML中生成PDF文件
译文:使用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文件相关推荐
- java递归删除文件夹_如何使用递归删除Java中的目录/文件夹
java递归删除文件夹 Earlier we learned how to create a file in java and how to delete a file in java. Here w ...
- python 批量增加文件前缀_用python批量提取视频中的音频文件
安装MoviePy pip3 install MoviePy 安装成功后需要打开MoviePy所在的文件夹 C:PythonLibsite-packagesmoviepy 打开config_defau ...
- java 写文件 权限不够_教你解决Linux系统中JAVA创建文件后权限不足的问题
在作业中,项目使用文件上传. 这个功能很常见. 当Kai Ge今天更改其官方帐户时,他遇到了一个问题,即无法访问下载的文件,也无法通过浏览器访问该文件. 它是怎么发生的? 经过许多问题之后,事实证明这 ...
- vector与结构体联合使用 在磁盘中生成.txt 文件
一下纯属个人总结.欢迎拍砖!谢谢 我意思到以练促进学习C++编程基础是很有帮助的 这篇文章是我为了熟悉掌握文件流和STL中的vector以及结构体三个只知识点所写的代码: #include <s ...
- android 构造xml,android 中生成xml文件
在Android中生成xml文件真的很简单,下面提供2中方法,一种是通过String写入到文件,另外一种是通过XML 的 XmlSerializer. 以后遇到Android写xml内容就不会困惑了 ...
- sd卡有多个android文件夹,android - 如何adb拉出SD卡中存在的文件夹的所有文件
android - 如何adb拉出SD卡中存在的文件夹的所有文件 我的SD卡中有一个文件夹:/mnt/sdcard/Folder1/Folder2/Folder3/*.jpg Folder1和Fold ...
- java中生成pdf,插入图片,页眉、页脚、表格
全栈工程师开发手册 (作者:栾鹏) java教程全解 java中生成pdf,插入图片,页眉.页脚.表格 import com.lowagie.text.*; import com.lowagie.te ...
- R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称、将数据写入Excel文件新的表单(sheet)中、将文件保存为xls文件格式(而不是xlsx)
R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称.将数据写入Excel文件新的表单(sheet)中.将文件保存为xls文件格式(而不是xlsx) 目录
- python在内存中生成Zip文件!
python在内存中生成Zip文件! - 天真的好蓝啊 - 博客园 python在内存中生成Zip文件! import zipfile import StringIO class MemoryZipF ...
最新文章
- 借东西的小人阿莉埃蒂
- 储能系统进入数据中心是大势所趋
- python 单点登录_清华园计算机系联合推出的Java+Python视频曝光
- 图片视频预览开启和关闭脚本 Xp
- 推荐一款强大的SQL Internal 查看工具InternalsViewer
- node.js 报错Error: ENFILE: file table overflow...ENFILE: file table overflow, open...
- POJ 2457 BFS
- SSH远程登陆配置sshd_config文件详解
- 如何画指数函数图像探讨其函数性质
- CLUSTERDOWN Hash slot not served 记录一次线上redis插槽问题
- Tik Tok账号被封了怎么办?
- Method类及其用法
- 「数据架构」数据模型,数据字典,数据库模式 和ERD的比较
- 翼支付杯大数据建模大赛-季军方案
- 三段论_五项基本原则
- C PrimerPlus 第五章程序示例
- 陪你云sdk用户指南
- 视频深度学习:行为识别指南
- 伊鳗:让你每天获得持续客源的精准引流方法,只是做好这几步
- 考研小助手 Mathematica 麦酱教你算不定积分 wolfram alpha
热门文章
- 领域驱动设计,让程序员心中有码(四)
- Entity Framework Core延期及弃用的特性
- 用批处理修复 win10 无法升级的问题
- 【ArcGIS风暴】ArcGIS10.6图斑椭球面积计算原理与方法
- Android之解决PC浏览器访问手机服务端取assets目录下的文件页面显示不出来问题
- linux之通过tail命令动态跟踪日志文件里面的末尾信息
- linux shell之paste合并文件和找到匹配的文件里面替换内容(find和-exec或xargs组合)
- C和指针之动态内存分配之输入很多整数进行排序
- C++之namespace和::使用总结
- Android之ndk之gdb调试