当前位置: 首页 > 图文教程 > 网络编程 > PHP > 用PHP生成PDF文件 with FPDF

PHP
工作笔记:配置MySQL为高可用集群 (1)
MySQL (C API)VC实例及代码下载 (1)(5)
MySQL (C API)VC实例及代码下载 (1)(4)
MySQL (C API)VC实例及代码下载 (1)(3)
MySQL (C API)VC实例及代码下载 (1)(2)
MySQL (C API)VC实例及代码下载 (1)
用JSP连接mysql数据库的方法 (1)(2)
用JSP连接mysql数据库的方法 (1)
MySQL数据库账户授权的相关管理解析 (1)(2)
MySQL数据库账户授权的相关管理解析 (1)
SAP MaxDB MySQL修补数据库严重漏洞
MySQL研发中心成立发布会会后访问整理 (1)(2)
MySQL研发中心成立发布会会后访问整理 (1)
MySQL中SQL-TEXT、DATE和SET数据类型
MySQL存在权限提升及安全限制绕过漏洞
MySQL 卸载的问题
windows下安装、卸载mysql服务
如何正确卸载MySQL
MySQL手册版本 5.0.20-MySQL优化(四) (1)(5)
MySQL手册版本 5.0.20-MySQL优化(四) (1)(4)

用PHP生成PDF文件 with FPDF


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 141 ::
收藏到网摘: n/a

What is FPDF?
FPDF is a PHP class which allows to generate PDF files with pure PHP, that is to say without using the PDFlib library. The advantage is that PDFlib requires a fee for a commercial usage. F from FPDF stands for Free: you may use it for any kind of usage and modify it to suit your needs.

FPDF可以让我们创建pdf文件而不用去调用PDFlib

这里可以下到最新的windows下的版本:
http://www.fpdf.org/en/dl.php?v=152&f=zip

这里可以下到中文手册:
http://www.fpdf.org/en/dl.php?id=72

若要其他版本可以到这里下到:
http://www.fpdf.org/
这也是FPDF的官方网站,如果有问题可以去上面问,回复的挺快的,我上午问了1个问题他们下午就回了。不过那上面的时间都是美国时间。

下面是一个很简单的用FPDF创建一个pdf文件并添加一页的例子

当然也可以用$pdf->open();来新建一个pdf文件
但是在这里,Addpage()包含了open(),他同时完成了新建一个pdf文件和添加1页两个步骤

上面例子里的define('FPDF_FONTPATH','fpdf152/font/');定义了存放字体文件的目录
具体下载了压缩包后就看到那个font文件夹了,只要指向那个文件夹就行了
上面这段程序还不能显示任何东西
现在来加两句

<?
define('FPDF_FONTPATH','fpdf152/font/');
require('fpdf152/fpdf.php');
$pdf = new FPDF;
$pdf->AddPage();
$pdf->SetFont('arial');
$pdf->Text(5,20,'test pdf');
$pdf->Output('a.pdf', 'D');
?>

SetFont()设定字体,这步在第1次调用FPDF的时候一定要,否则pdf文件打开时将会提示“没有定义字型“而什么都不显示
这里最好定义比较常用的字体,并且中文不支持。
要支持中文或支持比较偏的字体要用到AddFont(),但是我测试暂时没通过,希望哪位通过的可以指点一下 ^^
Text()打印一个字符串,横坐标为5,纵坐标为20,字符串内容为“test pdf”
关于最后的Output()里的参数'D'可以参照手册里,写的很清楚了
这样导出的pdf文件就会显示'test pdf'了。
如果兴趣好,再加上张图片

<?
define('FPDF_FONTPATH','fpdf152/font/');
require('fpdf152/fpdf.php');
$pdf = new FPDF;
$pdf->AddPage();
$pdf->SetFont('arial');
$pdf->Text(5,20,'test pdf');
$pdf->Image('jianxin_mark.jpg', 5, 30, 60, 50);
$pdf->Output('a.pdf', 'D');
?>

Image()可以在pdf中插入图片,前面是文件名,要包括路径,5是横坐标,30是纵坐标,60是图片宽度,50是高度
ok,这样一个又有文字又有图片的pdf文件就建立了 ^^
其实还有很多功能,手册中都有写,但不是很详细,需要各位自己去研究发掘了 ^^