怎么用PHP在HTML中生成PDF文件

html-css026

怎么用PHP在HTML中生成PDF文件,第1张

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、自动管理页眉和页脚

首先需要安装wkhtmltopdf这个软件 需要执行shell_exec函数的php文件和安装的wkhtmltopdf.exe可执行文件在同一目录下,不然php找不到这个执行文件

shell_exec("wkhtmltopdf.exe --page-size A4 --outline 网页地址pdf文件名")

--page-size 以A4纸的尺寸显示pdf内容

--outline 显示目录(网页中h1,h2来定)

网页地址 需要转成pdf的网页地址

pdf文件名 生成pdf的文件名,可以使用绝对路径

方法1安装Adobe Acrobat后会默认在IE浏览器中添加PDF工具栏。

该工具可以方便的将网页转化成PDF文档,或者添加入已有的PDF文档,Adobe PDF Explorer工具栏则可以在IE的收藏夹界面内管理window内的HTML文档与PDF文档的转化。

方法2使用客户端软件HTML2PDF_Pilot。

HTML2PDF_Pilot的截面如上图,很简洁。

如果只是要完成最简单的工作只需如箭头所示,点击上方的添加按钮添加HTML文档然后点击转换,稍等既可以完成一个HTML文档的转化工作。

两种方法的比较

灵活性:

PDF工具栏的方式相比客户端的方式要灵活许多。

在使用的过程中发现HTML2PDF_Pilot不能通过URL(网址)直接转化PDF文档,而工具栏只需在浏览的过程随意使用。

功能:在功能的环节上,客户端方式的HTML2PDF_Pilot就明显要比PDF工具栏要强大许多

工具栏只提供了最基本的保存和添加入已有文档的功能,而HTML2PDF_Pilot则提供了更为丰富的选项。

另外,如果需要批量转化网页文件的话,工具栏的方式也无法提供对应的功能。