`
天梯梦
  • 浏览: 13634054 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

PHP HTML 生成 PDF

阅读更多

有时我们需要使用脚本动态的创建PDF文档,这里介绍一些免费的开源PHP脚本来生成PDF 的方法。


1.FPDF: PDF生成器


FPDF是一个纯粹的通过PHP类来生成PDF文档的方法,需要生成的内容直接在PHP代码中来指定,生成文字,图片,线条等等,都有自己的方法。下面介 绍一个用FPDF来生成”Hello World”的PDF文档:

<?php
require(‘fpdf.php’);

$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont(‘Arial’,'B’,16);
$pdf->Cell(40,10,’Hello World!’);
$pdf->Output();
?>

 

要生成PDF文档,首先我们需要包括库文件fpdf.php。


然后,我们需要建立一个FPDF对象使用默认构造FPDF(),这种构造可以通过三个值即页面方向(纵向或横向),计量单位,和页面大小( A4,A5……),默认情况下,页面大小为A4,计量单位是毫米。


它也可以被明确地指明:

$pdf=new FPDF(‘P’,'mm’,'A4′);

 

然后用AddPage()函数来增加一个页面,左上角和页面的内容在默认情况下边距为1厘米,当然我们可以使用SetMargins()来改变。要生成一 段文本,首先我们要使用SetFont()来选择一种字体和字号。

$pdf->SetFont(‘Arial’,'B’,16);


我们使用Cell()函数来输出一个文本。一个Cell()是一个载有文字的矩形区域。
最后,我们要关闭这个文件并且把它输出,这就是用到了$pdf->Output();,我们还可以在这里指定我们想要使用的文件名, 如$pdf->Output(’sample.pdf’);


这里只是简要的分析了一个例子,如果想获得更多的帮助,大家可以浏览:http://www.fpdf.org

 

2.HTML2FPDF: HTML到PDF的转换


HTML2FPDF是一个PHP类库使用FPDF类库HTML文件转换为PDF文件。这个库由三个类别即PDF格式, HTML2FPDF和FPDF组成。


下面介绍一个用HTML2FPDF来转换HTML

<?php
require('html2fpdf.php');

$pdf=new HTML2FPDF();
$pdf->AddPage();
$fp = fopen("sample.html","r");
$strContent = fread($fp, filesize("sample.html"));
fclose($fp);
$pdf->WriteHTML($strContent);
$pdf->Output("sample.pdf");
echo "PDF file is generated successfully!";
?>

 

首先,我们需要包括库文件html2fpdf.php,使用HTML2FPDF()构造函数来构造一个实例。

 

然后使 用$pdf->AddPage()为新的PDF添加一个新的页面。这时我们可以使用PHP自带的文件操作函数来读取一个HTML文件,把这个HTML文件的内容传给函数$pdf->WriteHTML($strContent),这样HTML内容就被写入到PDF文件中了,最后和 FPDF 的操作一样,通过output(),将文件输出。

 

这也只是一个简单的例子,如果想获得更多的帮助,可以浏览:http://html2fpdf.sourceforge.net

这里有这个例子的代码供大家下载

 

3.TCPDF: PDF的转换

 

特性

TCPDF具有以下特性:

1、支持页面页脚;

2、支持HTML标签代码;

3、支持jpg/png/gif/svg图形图像;

4、支持表格;

5、支持中文字符;(有些PDF类不支持中文或者处理中文相当麻烦)

6、自动分页,自动页码,等等。

 

如何使用

您可以从TCPDF官网获取最新版本:http://www.tcpdf.org。官网提供了几十个示例以及说明文档,下载解压后一定要注意文件路径,如何使用TCPDF,可以从以下5个步骤完成:

1、require_once导入tcpdf.php文件及相关配置信息;

2、实例化TCPDF;

3、设置PDF文档的格式,包括文档信息、页眉、页尾、字体、外间距、图片边框、分页等;

4、导入PDF文档的内容,可以是单行或多行简单字符串,也可以HTML格式的字符串等;

5、输出PDF文档。

 

代码示例:

require_once('tcpdf.php'); 
//实例化 
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false); 
 
// 设置文档信息 
$pdf->SetCreator('Helloweba'); 
$pdf->SetAuthor('yueguangguang'); 
$pdf->SetTitle('Welcome to helloweba.com!'); 
$pdf->SetSubject('TCPDF Tutorial'); 
$pdf->SetKeywords('TCPDF, PDF, PHP'); 
 
// 设置页眉和页脚信息 
$pdf->SetHeaderData('logo.png', 30, 'Helloweba.com', '致力于WEB前端技术在中国的应用',  
      array(0,64,255), array(0,64,128)); 
$pdf->setFooterData(array(0,64,0), array(0,64,128)); 
 
// 设置页眉和页脚字体 
$pdf->setHeaderFont(Array('stsongstdlight', '', '10')); 
$pdf->setFooterFont(Array('helvetica', '', '8')); 
 
// 设置默认等宽字体 
$pdf->SetDefaultMonospacedFont('courier'); 
 
// 设置间距 
$pdf->SetMargins(15, 27, 15); 
$pdf->SetHeaderMargin(5); 
$pdf->SetFooterMargin(10); 
 
// 设置分页 
$pdf->SetAutoPageBreak(TRUE, 25); 
 
// set image scale factor 
$pdf->setImageScale(1.25); 
 
// set default font subsetting mode 
$pdf->setFontSubsetting(true); 
 
//设置字体 
$pdf->SetFont('stsongstdlight', '', 14); 
 
$pdf->AddPage(); 
 
$str1 = '欢迎来到Helloweba.com'; 
 
$pdf->Write(0,$str1,'', 0, 'L', true, 0, false, false, 0); 
 
//输出PDF 
$pdf->Output('t.pdf', 'I'); 

 保存后用浏览器打开,如果您的系统安装了PDF阅读器或者使用google chrome直接在浏览器中打开,否则会提示下载生成的PDF。

 

TCPDF官网示例(含六七十个示例代码)

官网下载地址:http://sourceforge.net/projects/tcpdf/files/

下载

 

另附: php生成PDF的常用类

 

FPDF

FPDF 这个PHP Class允许你采用纯PHP(更确切地说就是不需要使用PDFlib)来生成PDF文件。它所具有的特点包括:可选择的unit大小,页面格式和页边 距;页眉和页脚管理;自动分页;自动换行与文本自动对齐;支持JPEG与PNG图片格式;支持着色和文件超链接;支持TrueType,Type1与 encoding;支持页面压缩。

 

HTML2PDF

HTML2PDF能够把一个HTML文本转换成一个打印机友好的PDF文件。这个PHP脚本构建在FPDF PHP脚本之上。

 

TCPDF

TCPDF是一个用于快速生成PDF文件的PHP5函数包。TCPDF基于FPDF进行扩展和改进。支持UTF-8,Unicode,HTML和 XHTML。

 

html2ps

html2ps 能够把带有图片,复杂表格(包含rowspan/colspan) ,layer/div和css样式的HTML转换成Postscript与PDF。 html2ps对CSS2.1支持非常好,并且很好地兼容不正确的HMTL。它甚至能够转换几乎是采用CSS设计的网站如msn.com。

 

HTML_ToPDF

HTML_ToPDF能够把任何HTML文档转换成在任何平台和打印机下界面格式都一样的PDF文档。它包括支持图片转换,使用样式表来定制PDF 文件和错误处理。

 

cPdfWriter

cPdfWriter是一个能够输出PDF文档的PHP5 class。基于TCPDF,FPDF和其它相关脚本。

 

dompdf

dompdf是一个HTML到PDF的转换工具。它的核心是一个遵循大部份CSS2.1样式的Rendering引擎。dompdf采用样式驱动, 它能够下载并读取外部样式,整个样式标签和单个HTML元素的样式属性。它同样支持目当大部份HTML属性。

 

 

分享到:
评论
4 楼 51ask 2017-03-03  
PHP 生成 PDF
http://www.51ask.org/article/232
php 将html转为pdf。不影响html
http://www.51ask.org/question/229
3 楼 wjywjy678 2010-07-13  
可能,我在上海这里一直打不开
2 楼 天梯梦 2010-07-08  
我这里(纽约)是可以打开的,是不是你那里网络的原因?
1 楼 wjywjy678 2010-07-08  
http://www.fpdf.org打不开了?

相关推荐

    TCPD类 PHP生成PDF417二维条码

    PHP通过TCPD类可生成PDF417二维条码。 使用方法:实例化类 TCPDF2DBarcode(文件tcpdf_barcodes_2d.php),使用getBarcodePNG方法即可生成。 例:新建个PHP文件 barcode.php &lt;?php require_once ("tcpdf_barcodes_...

    php生成PDF插件

    这是php 生成PDF的一个插件。 “HTML2PDF” ,它是把 html 代码转成pdf文件。 所以我要做的就是,用php 构建html 字符串。 详细看例子。很简单的,一看就明白。

    多个HTML利用php批量生产PDF报告

    为了实现批量化,利用php脚本实现HTML报告批量生产PDF

    Web页面生成PDF(html to pdf)

    wkhtmltopdf,支持web页面生成PDF,比其他pdf生成工具兼容性好一点,易用一点,方便一点。PHP html to pdf

    MPDF类库插入HTML生成PDF

    生成PDF所需的MPDF类库,使用MPDF可以直接将HTML插入到PDF中来生成PDF文件,使用案例参考链接:https://www.jianshu.com/p/90b431070a0c

    mPDF一个将UTF8编码的HTML生成PDF文件的PHP库

    它基于FPDF和HTML2FPDF,并具有许多增强功能

    PHP实现HTML生成PDF文件的方法

    主要介绍了PHP实现HTML生成PDF文件的方法,可实现linux中利用HTML2FPDF与wkhtmltoimage把网页html直接生成pdf格式的文件,需要的朋友可以参考下

    强大的php生成word ,html,rtf,pdf框架(包含中文文档)

    添加GD生成图片 14 添加水印 14 添加对象 15 添加标题 15 添加目录 16 表格 17 添加表格 17 添加行 17 添加单元格 17 单元格样式 19 表格样式 20 页脚 22 页眉 23 模版 23 其他问题修改 25 解决文本缩进问题 25 表格...

    MPDF php生成pdf类

    mpdf将html文件生成pdf 完美支持css 完美支持书签,分页

    使用PHP把HTML生成PDF文件的几个开源项目介绍

    但是如今,已经有很多函数库可以使用了,并且能够从你提供的HTML文件生成PDF文档。这让原先耗时的工作变得非常简单了。 FPDF是很早就被使用的,其特点如下: FPDF FPDF是一个允许使用纯PHP生成PDF文档的PHP类,...

    mpdf6.0 PHP生成pdf插件

    PHP代码通过利用mpdf插件可以将html文档生成pdf文档。

    PHP库从UTF-8编码HTML生成PDF文件-PHP开发

    mPDF是一个PHP库,可以从UTF-8编码HTML生成PDF文件。 它基于FPDF和HTML2FPDF(请参阅CREDITS),具有许多增强功能。 mPDF由Ian Back编写,并根据GNU GPL v2许可发布。 N mPDF是一个PHP库,可以从UTF-8编码HTML生成...

    PHP生成PDF所需的FPDF类库

    经常会要生成PDF文件,那么PDF类库必不可少,这个类库文件可以插入HTML代码生成PDF文件,也可以单独写入每行文字制作PDF文件,使用方式参考链接:https://www.jianshu.com/p/b4c55c675c06

    laravel-pdf:从Laravel 5内部HTML轻松生成PDF文档

    Laravel PDF:Laravel 5的mPDF包装器使用此mPDF包装器,可以从Laravel内部HTML轻松生成PDF文档。安装在composer.json需要此软件包,或通过运行以下命令进行安装: composer require niklasravnsborg/laravel-pdf注意...

    html-pdf:使用wkhtmltopdf从具有自定义页眉和页脚HTML生成PDF

    :page_with_curl: 使用wkhtmltopdf v2021.4.115从具有自定义页眉和页脚HTML生成PDF 错误很明显:trade_mark:-MATRIX NodeJs LTS版本要求 &gt;=12.13.0 建立在NodeJ上 v14.16.0 必须使用async和await关键字。 仅支持最新...

    thinkphp使用mpdf导出html为pdf文件

    thinkphp使用mpdf将html导出为pdf文件。里面包含了mpdf资源包。包版本为6.1.3。适合php5.6.27使用,新版本的mpdf需要php7的支持。

    使用PHP生成PDF方法详解

    但是如今,已经有很多函数库可以使用了,并且能够从你提供的HTML文件生成PDF文档。这让原先耗时的工作变得非常简单了。 FPDF FPDF是一个允许使用纯PHP生成PDF文档的PHP类,换句话说,没有使用PDFlib 函数库。FPDF中...

Global site tag (gtag.js) - Google Analytics