论文部分内容阅读
[摘要] 介绍基于PHP与FPDF的PDF文档的动态创建技术,并通过具体的应用示例说明其编程模式。
[关键词] PHP FPDF PDF
一、引言
目前,各类Web应用(如电子商务、电子政务等)日益广泛与深入。在某些Web应用系统中,需动态创建PDF文档,供用户浏览、下载或打印。为此,本文提出一种可跨平台运行的解决方案,即基于PHP与FPDF动态创建PDF文档。
二、技术简介
PDF是Adobe公司开发的一种通用的电子文档格式,目前已成为开放的电子文档发布的事实标准。PDF具有与平台无关的特性,在各种系统上均可产生一致的、高质量的输出,是在Internet上进行文档发布的理想格式。
PHP是目前流行的Web编程语言,具有开放源码、完全免费、易学易用以及出色的跨平台特性、广泛的数据库支持等诸多优势。在PHP中,可使用非免费的PDFlib、ClibPDF或免费的FPDF、TCPDF等函数库开发具有动态创建PDF文档功能的Web应用。
FPDF是一个用PHP编写的、免费的用于生成PDF文档的类库,可从网上随意下载。FPDF具有与PHP一样的跨平台运行特性,主要功能包括页面设置、页眉及页脚定义、自动换行与分页、图片插入、超链接插入、颜色设置、字体设置、页面压缩等。下载FPDF类库并将其解压到相应的Web目录中,即可利用fpdf.php中所定义的FPDF类实现PDF文档的灵活创建。若要创建中文的PDF文档,则可使用在chinese.php中所定义的继承自FPDF类的PDF_Chinese类。FPDF中文类库可从网上单独下载,解压后应将chinese.php置于fpdf.php所在的目录中。
可见,基于PHP与FPDF,再结合数据库编程,即可实现跨平台的PDF文档的动态创建。
三、基本步骤
使用FPDF创建PDF文档的基本步骤为:
1.利用FPDF类或PDF_Chinese类创建英文或中文的PDF文档对象实例。
2.调用Open()方法开始建立PDF文档,并调用AddPage()方法添加一页。
3.调用SetFont()方法设置字体。对于中文的PDF文档,可在此前调用AddGBFont()方法添加相应的中文字体。
4.调用Cell()、Write()、Image()等方法向PDF文档添加内容。
5.调用Output()方法输出PDF文档。
关于FPDF及有关方法的具体用法,请参阅其参考手册。
四、应用示例
为说明FPDF的基本用法,下面略举一例,即动态创建中文的PDF文档。
<?php
define('FPDF_FONTPATH','fpdf/font/');
require('FPDF/chinese.php');
$pdf=new PDF_Chinese();
$pdf->AddGBFont('simsun','宋体');
$pdf->AddGBFont('simhei','黑体');
$pdf->AddGBFont('simkai','楷体_GB2312');
$pdf->AddGBFont('sinfang','仿宋_GB2312');
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('simhei','BU',20);
$pdf->Cell(0,10,'题目',0,1,'C');
$pdf->SetFont('Arial','B',18);
$pdf->Cell(0,10,'(Title)',0,1,'C');
$pdf->SetFont('simsun','B',16);
$pdf->Write(8,'内容123...');
$pdf->SetFont('sinfang','BI',16);
$pdf->Write(8,'内容abc...');
$pdf->Ln();
$pdf->SetFont('simkai','',12);
$pdf->Cell(0,8,'(作者单位及姓名)','TB',1,'R');
$pdf->Output();
?>
若客户端已安装了PDF阅读软件Adobe Reader,则该示例程序的运行结果如图所示。必要时,可用不同的参数调用Output()方法以改变PDF文档的输出方式。
五、结束语
在Web应用中实现PDF文档的动态创建功能,有利用进一步提高应用的水平,更好地满足用户的实际需要。基于PHP与FPDF创建PDF文档,是一種易于实现的、跨平台的解决方案。
参考文献:
[1]武欣郡煜译:(澳)Luke Welling, Laura Thomson. PHP与MySQL Web开发(原书第3版). 北京:机械工业出版社,2005.582-585
[2] FPDF参考手册
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
[关键词] PHP FPDF PDF
一、引言
目前,各类Web应用(如电子商务、电子政务等)日益广泛与深入。在某些Web应用系统中,需动态创建PDF文档,供用户浏览、下载或打印。为此,本文提出一种可跨平台运行的解决方案,即基于PHP与FPDF动态创建PDF文档。
二、技术简介
PDF是Adobe公司开发的一种通用的电子文档格式,目前已成为开放的电子文档发布的事实标准。PDF具有与平台无关的特性,在各种系统上均可产生一致的、高质量的输出,是在Internet上进行文档发布的理想格式。
PHP是目前流行的Web编程语言,具有开放源码、完全免费、易学易用以及出色的跨平台特性、广泛的数据库支持等诸多优势。在PHP中,可使用非免费的PDFlib、ClibPDF或免费的FPDF、TCPDF等函数库开发具有动态创建PDF文档功能的Web应用。
FPDF是一个用PHP编写的、免费的用于生成PDF文档的类库,可从网上随意下载。FPDF具有与PHP一样的跨平台运行特性,主要功能包括页面设置、页眉及页脚定义、自动换行与分页、图片插入、超链接插入、颜色设置、字体设置、页面压缩等。下载FPDF类库并将其解压到相应的Web目录中,即可利用fpdf.php中所定义的FPDF类实现PDF文档的灵活创建。若要创建中文的PDF文档,则可使用在chinese.php中所定义的继承自FPDF类的PDF_Chinese类。FPDF中文类库可从网上单独下载,解压后应将chinese.php置于fpdf.php所在的目录中。
可见,基于PHP与FPDF,再结合数据库编程,即可实现跨平台的PDF文档的动态创建。
三、基本步骤
使用FPDF创建PDF文档的基本步骤为:
1.利用FPDF类或PDF_Chinese类创建英文或中文的PDF文档对象实例。
2.调用Open()方法开始建立PDF文档,并调用AddPage()方法添加一页。
3.调用SetFont()方法设置字体。对于中文的PDF文档,可在此前调用AddGBFont()方法添加相应的中文字体。
4.调用Cell()、Write()、Image()等方法向PDF文档添加内容。
5.调用Output()方法输出PDF文档。
关于FPDF及有关方法的具体用法,请参阅其参考手册。
四、应用示例
为说明FPDF的基本用法,下面略举一例,即动态创建中文的PDF文档。
<?php
define('FPDF_FONTPATH','fpdf/font/');
require('FPDF/chinese.php');
$pdf=new PDF_Chinese();
$pdf->AddGBFont('simsun','宋体');
$pdf->AddGBFont('simhei','黑体');
$pdf->AddGBFont('simkai','楷体_GB2312');
$pdf->AddGBFont('sinfang','仿宋_GB2312');
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('simhei','BU',20);
$pdf->Cell(0,10,'题目',0,1,'C');
$pdf->SetFont('Arial','B',18);
$pdf->Cell(0,10,'(Title)',0,1,'C');
$pdf->SetFont('simsun','B',16);
$pdf->Write(8,'内容123...');
$pdf->SetFont('sinfang','BI',16);
$pdf->Write(8,'内容abc...');
$pdf->Ln();
$pdf->SetFont('simkai','',12);
$pdf->Cell(0,8,'(作者单位及姓名)','TB',1,'R');
$pdf->Output();
?>
若客户端已安装了PDF阅读软件Adobe Reader,则该示例程序的运行结果如图所示。必要时,可用不同的参数调用Output()方法以改变PDF文档的输出方式。
五、结束语
在Web应用中实现PDF文档的动态创建功能,有利用进一步提高应用的水平,更好地满足用户的实际需要。基于PHP与FPDF创建PDF文档,是一種易于实现的、跨平台的解决方案。
参考文献:
[1]武欣郡煜译:(澳)Luke Welling, Laura Thomson. PHP与MySQL Web开发(原书第3版). 北京:机械工业出版社,2005.582-585
[2] FPDF参考手册
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。