php FPDF类库应用实现代码


Posted in PHP onMarch 20, 2009
<?php 
require('chinese.php'); 
class PDF extends PDF_Chinese 
{ 
function Header() //设置页眉 
{ 
$this->SetFont('GB','',10); 
$this->Write(10,'XX公司产品名录'); 
$this->Ln(20); //换行 
} 
function Footer() //设置页脚 
{ 
$this->SetY(-15); 
$this->SetFont('GB','',10); 
$this->Cell(0,10,'第'.$this->PageNo().'页'); 
} 
} $conn = mysql_connect("localhost", "root", ""); //连接数据库 
mysql_select_db("product", $conn); //执行SQL 
$query_rs_prod = "SELECT * FROM product ORDER BY prod_id"; 
$rs_prod = mysql_query($query_rs_prod, $conn) or die(mysql_error()); 
$row_rs_prod = mysql_fetch_assoc($rs_prod); 
$totalRows_rs_prod = mysql_num_rows($rs_prod); 
$pdf=new PDF(); //创建新的FPDF对象 
$pdf->AddGBFont(); //设置中文字体 
$pdf->Open(); //开始创建PDF 
$pdf->AddPage(); //增加一页 
$pdf->SetFont('GB','',10); //设置字体样式 
$header=array('产品编号','产品名称','产品类型','产品单价'); //设置表头 
$width=array(20,80,40,20); //设置每列宽度 
for($i=0;$i<count($header);$i++) //循环输出表头 
$pdf->Cell($width[$i],6,$header[$i],1); 
$pdf->Ln(); 
do //循环输出表体 
{ 
$pdf->Cell($width[0],6,$row_rs_prod['prod_id'],1); 
$pdf->Cell($width[1],6,$row_rs_prod['prod_name'],1); 
$pdf->Cell($width[2],6,$row_rs_prod['prod_type'],1); 
$pdf->Cell($width[3],6,$row_rs_prod['prod_price'],1); 
$pdf->Ln(); 
} while ($row_rs_prod = mysql_fetch_assoc($rs_prod)); 
$pdf->Output("product.pdf", true); //下载PDF文件 
?>

<?php 
define('FPDF_FONTPATH','font/'); //定义font文件夹所在路径 
require_once('fpdf/fpdf.php'); //包含fpdf类库文件 
$pdf=new FPDF('P', 'mm', 'A4'); //创建新的FPDF对象,竖向放纸,单位为毫米,纸张大小A4 
$pdf->Open(); //开始创建PDF 
$pdf->AddPage(); //增加一页 
$pdf->SetFont('Courier','I',20); //设置字体样式 
$pdf->Cell(0,0,'Hello World!'); //增加一个单元格 
$pdf->Output(); //输出PDF到浏览器 
?>

<?php 
define('FPDF_FONTPATH','font/'); //定义font文件夹所在路径 
require_once('fpdf/fpdf.php'); //包含fpdf类库文件 
$pdf=new FPDF('P', 'mm', 'A4'); //创建新的FPDF对象,竖向放纸,单位为毫米,纸张大小A4 
$pdf->Open(); //开始创建PDF 
$pdf->AddPage(); //增加一页 
$pdf->SetFont('Courier','I',20); //设置字体样式 
$pdf->Image('sight.jpg',20,20,0,0); //增加一张图片,文件名为sight.jpg 
$pdf->Output(); //输出PDF到浏览器 
?>

<?php 
define('FPDF_FONTPATH','font/'); //定义font文件夹所在路径 
require_once('fpdf/fpdf.php'); //包含fpdf类库文件 
$pdf=new FPDF(‘P', ‘mm', ‘A4'); //创建新的FPDF对象,竖向放纸,单位为毫米,纸张大小A4 
$pdf->Open(); //开始创建PDF 
$pdf->AddPage(); //增加一页 
$pdf->SetFont('Courier','I',20); //设置字体样式 
$pdf->Cell(60,10,'Hello World!',1); //增加一个单元格 边框为1 
$pdf->Output(); //输出PDF到浏览器 
?>

<?php 
define('FPDF_FONTPATH','font/'); //定义font文件夹所在路径 
require_once('fpdf/fpdf.php'); //包含fpdf类库文件 
$pdf=new FPDF('P', 'mm', 'A4'); //创建新的FPDF对象,竖向放纸,单位为毫米,纸张大小A4 
$pdf->Open(); //开始创建PDF 
$pdf->AddPage(); //增加一页 $pdf->SetFont('Arial','',14); //设置字体样式 
$header=array('Name','Age','Sex','Salary'); //设置表头 
$data=array(); //设置表体 
$data[0] = array('Simon','24','Male','5,000.00'); 
$data[1] = array('Elaine','25','Female','6,000.00'); 
$data[2] = array('Susan','25','Female','7,000.00'); 
$data[3] = array('David','26','Male','8,000.00'); 
$width=array(40,40,40,40); //设置每列宽度 
for($i=0;$i<count($header);$i++) //循环输出表头 
$pdf->Cell($width[$i],6,$header[$i],1); 
$pdf->Ln(); 
foreach($data as $row) //循环输出表体 
{ 
$pdf->Cell($width[0],6,$row[0],1); 
$pdf->Cell($width[1],6,$row[1],1); 
$pdf->Cell($width[2],6,$row[2],1); 
$pdf->Cell($width[3],6,$row[3],1); 
$pdf->Ln(); 
} 
$pdf->Output(); //输出PDF到浏览器 
?>

<?php 
define('FPDF_FONTPATH','font/'); //定义font文件夹所在路径 
require_once('fpdf/fpdf.php'); //包含fpdf类库文件 
$pdf=new FPDF('P', 'mm', 'A4'); //创建新的FPDF对象,竖向放纸,单位为毫米,纸张大小A4 
$pdf->Open(); //开始创建PDF 
$pdf->AddPage(); //增加一页 
$pdf->SetFont('Courier','I',20); //设置字体样式 
$pdf->Cell(0,0,'你好,FPDF'); //增加一个单元格并输出中文 
$pdf->Output(); //输出PDF到浏览器 
?>

<?php 
require('chinese.php'); 
class PDF extends PDF_Chinese 
{ 
function Header() //设定页眉 
{ 
$this->SetFont('GB','',10); 
$this->Write(10,'FPDF中文测试'); 
$this->Ln(20); 
} function Footer() //设定页脚 
{ 
$this->SetY(-15); 
$this->SetFont('GB','',10); 
$this->Cell(0,10,'第'.$this->PageNo().'页'); 
} 
} 
$pdf=new PDF(); //创建PDF文档 
$pdf->AddGBFont(); 
$pdf->Open(); 
$pdf->AliasNbPages(); 
$pdf->AddPage(); 
$pdf->SetFont('GB','I',20); 
$pdf->Cell(0,10,'你好,FPDF'); //输出一段中文 
$pdf->Output(); 
?>

<?php 
$conn = mysql_connect("localhost", "root", ""); //连接数据库 
$colname_rs_article = $_GET['id']; //获取参数id mysql_select_db("cms", $conn); //执行SQL 
$query_rs_article = sprintf("SELECT * FROM articles WHERE article_id = %s", $colname_rs_article); 
$rs_article = mysql_query($query_rs_article, $conn) or die(mysql_error()); 
$row_rs_article = mysql_fetch_assoc($rs_article); 
$totalRows_rs_article = mysql_num_rows($rs_article); 
function conv($Text) //对返回文本进行处理 
{ 
$Text=htmlspecialchars($Text); //转换HTML关键字符 
$Text=nl2br($Text); //转换换行符 
return $Text; 
} 
?> 
<p align="center"><B><?php echo $row_rs_article['title']; ?></B></p> 
<p align="center"><font size=2><?php echo $row_rs_article['author']; ?> | <a href="showpdf.php?id=<?php echo $row_rs_article['article_id']; ?>">下载PDF文档</a></font></p> 
<HR> 
<p><?php echo conv($row_rs_article['content']); ?></p>

<?php 
require('chinese.php'); 
class PDF extends PDF_Chinese 
{ 
function Header() //设置页眉 
{ 
$this->SetFont('GB','',10); 
$this->Write(10,'文章系统 - XX网站'); 
$this->Ln(20); //换行 
} 
function Footer() //设置页脚 
{ 
$this->SetY(-15); 
$this->SetFont('GB','',10); 
$this->Cell(0,10,'第'.$this->PageNo().'页'); 
} 
} 
//主程序开始 
$conn = mysql_connect("localhost", "root", ""); //连接数据库 
$colname_rs_article = $_GET['id']; //获取参数id mysql_select_db("cms", $conn); //执行SQL 
$query_rs_article = sprintf("SELECT * FROM articles WHERE article_id = %s", $colname_rs_article); 
$rs_article = mysql_query($query_rs_article, $conn) or die(mysql_error()); 
$row_rs_article = mysql_fetch_assoc($rs_article); 
$totalRows_rs_article = mysql_num_rows($rs_article); 
//开始创建PDF文档 
$pdf=new PDF(); 
$pdf->AddGBFont(); 
$pdf->Open(); 
$pdf->AliasNbPages(); 
$pdf->AddPage(); 
$pdf->SetFont('GB','B',20); 
$pdf->Cell(0,10,$row_rs_article['title']); //输出文章标题 
$pdf->Ln(); //换行 
$pdf->SetFont('GB','',10); 
$pdf->Cell(0,10,$row_rs_article['author']); //输出文章作者 
$pdf->Ln(); 
$pdf->SetFont('GB','',12); 
$content = $row_rs_article['content']; 
while($content != "") //循环逐页将文章内容写入PDF 
{ 
$length = strlen($content); //获取文章长度 
$output = substr($content, 0, 1024); //获取本页输出内容,每1024个字符为1页 
$pdf->Cell(0,10,$output); //输出文章内容 
$content = substr($content, 1024, $length); //获取剩余未输出内容 
$pdf->AddPage(); //换页 
} 
$pdf->Output($row_rs_article['title'].".pdf", true); //输出PDF文件,文件名为文章标题 
?>

<?php 
define('FPDF_FONTPATH','font/'); //定义font文件夹所在路径 
require_once('fpdf/fpdf.php'); //包含fpdf类库文件 class PDF extends FPDF 
{ 
function Header() //设置页眉 
{ 
$this->SetFont('Arial','B',15); //设置页眉字体 
$this->Cell(80); //移动单元格 
$this->Cell(30,10,'Title'); //写入页眉文字 
$this->Ln(20); //换行 
} 
function Footer() //设置页脚 
{ 
$this->SetY(-15); //设置页脚所在位置 
$this->SetFont('Arial','I',8); //设置页脚字体 
$this->Cell(0,10,'Page - '.$this->PageNo()); //输出当前页码作为页脚内容 
} 
} 
$pdf=new PDF('P', 'mm', 'A4'); //创建新的FPDF对象,竖向放纸,单位为毫米,纸张大小A4 
$pdf->Open(); //开始创建PDF 
$pdf->AddPage(); //增加一页 
$pdf->SetFont('Courier','I',20); //设置字体样式 
$pdf->Cell(0,0,'Hello World!'); //增加一个单元格 
$pdf->Output(); //输出PDF到浏览器 
?>
PHP 相关文章推荐
基于PHP与XML的PDF文档生成技术
Oct 09 PHP
人大复印资料处理程序_查询篇
Oct 09 PHP
php自动获取字符串编码函数mb_detect_encoding
May 31 PHP
MySQL连接数超过限制的解决方法
Jul 17 PHP
理解和运用PHP中的多态性[译]
Aug 02 PHP
ThinkPHP框架设计及扩展详解
Nov 25 PHP
PHP根据图片色界在不同位置加水印的方法
Jul 01 PHP
PHP互换两个变量值的方法(不用第三变量)
Nov 14 PHP
详解PHP用substr函数截取字符串中的某部分
Dec 03 PHP
Thinkphp5结合layer弹窗定制操作结果页面
Jul 07 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
Apr 02 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
Dec 31 PHP
php adodb分页实现代码
Mar 19 #PHP
php daodb插入、更新与删除数据
Mar 19 #PHP
php adodb连接不同数据库
Mar 19 #PHP
php adodb操作mysql数据库
Mar 19 #PHP
php adodb介绍
Mar 19 #PHP
php Http_Template_IT类库进行模板替换
Mar 19 #PHP
php auth_http类库进行身份效验
Mar 19 #PHP
You might like
了解咖啡雨林联盟认证 什么是雨林认证 雨林认证是什么意思
2021/03/05 新手入门
PHP中$_SERVER使用说明
2015/07/05 PHP
PHP的介绍以及优势详细分析
2019/09/05 PHP
仅用[]()+!等符号就足以实现几乎任意Javascript代码
2010/03/01 Javascript
js indexOf()定义和用法
2012/10/21 Javascript
javascript数组的使用
2013/03/28 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
jQuery中removeAttr()方法用法实例
2015/01/05 Javascript
AngularJS的内置过滤器详解
2015/05/14 Javascript
程序员必知35个jQuery 代码片段
2015/11/05 Javascript
JS常见问题之为什么点击弹出的i总是最后一个
2016/01/05 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
2016/09/20 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
vue实现双向绑定和依赖收集遇到的坑
2018/11/29 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
Flask之flask-script模块使用
2018/07/26 Python
Python模块、包(Package)概念与用法分析
2019/05/31 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
PyTorch中Tensor的拼接与拆分的实现
2019/08/18 Python
python 创建一维的0向量实例
2019/12/02 Python
keras训练曲线,混淆矩阵,CNN层输出可视化实例
2020/06/15 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
德国珠宝和手表在线商店:VALMANO
2019/03/24 全球购物
如何利用find命令查找文件
2016/11/18 面试题
毕业生个人求职信范文分享
2014/01/05 职场文书
个人自我评价和职业目标
2014/01/24 职场文书
团队精神的演讲稿
2014/05/14 职场文书
护理学专业求职信
2014/06/29 职场文书
暑假社会实践证明格式
2014/10/28 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
人与自然的观后感
2015/06/18 职场文书
python识别围棋定位棋盘位置
2021/07/26 Python
Win11远程连接不上怎么办?Win11远程桌面用不了的解决方法
2022/08/05 数码科技