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脚本的10个技巧(5)
Oct 09 PHP
用PHP+java实现自动新闻滚动窗口
Oct 09 PHP
php 计算两个时间戳相隔的时间的函数(小时)
Dec 18 PHP
遍历指定目录下的所有目录和文件的php代码
Nov 27 PHP
用php简单实现加减乘除计算器
Jan 06 PHP
Php无限级栏目分类读取的实现代码
Feb 19 PHP
PHP中使用imagick实现把PDF转成图片
Jan 26 PHP
深入理解PHP中的count函数
May 31 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
Nov 25 PHP
Laravel框架实现调用百度翻译API功能示例
May 30 PHP
TP5框架页面跳转样式操作示例
Apr 05 PHP
php中Swoole的热更新实现代码实例
Mar 04 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
使用PHP和XSL stylesheets转换XML文档
2006/10/09 PHP
PHP动态创建Web站点的方法
2011/08/14 PHP
PHP strtotime函数用法、实现原理和源码分析
2015/02/04 PHP
实现PHP+Mysql无限分类的方法汇总
2015/03/02 PHP
php正则修正符用法实例详解
2016/12/29 PHP
PHP命名空间用法实例分析
2019/09/04 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
JavaScript中window、doucment、body的解释
2013/08/14 Javascript
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
2014/08/01 Javascript
jQuery标签替换函数replaceWith()的使用例子
2014/08/28 Javascript
用原生js统计文本行数的简单示例
2016/08/19 Javascript
常见的浏览器Hack技巧整理
2017/06/29 Javascript
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
微信小程序获取用户openid的实现
2018/12/24 Javascript
vue.js实现左边导航切换右边内容
2019/10/21 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
vue 使用class创建和清除水印的示例代码
2020/12/25 Vue.js
[05:42]DOTA2英雄梦之声_第10期_蝙蝠骑士
2014/06/21 DOTA
python 内置模块详解
2019/01/01 Python
PyCharm2018 安装及破解方法实现步骤
2019/09/09 Python
python3-flask-3将信息写入日志的实操方法
2019/11/12 Python
python实现FTP文件传输的方法(服务器端和客户端)
2020/03/20 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
2020/04/20 Python
微信html5页面调用第三方位置导航的示例
2018/03/14 HTML / CSS
西班牙在线宠物食品和配件商店:bitiba
2019/10/11 全球购物
C#面试常见问题
2013/02/25 面试题
高级Java程序员面试要点
2013/08/02 面试题
外语系毕业生求职自荐信
2014/04/12 职场文书
校庆标语集锦
2014/06/25 职场文书
地震慰问信
2015/02/14 职场文书
音乐剧猫观后感
2015/06/04 职场文书
党性修养心得体会2016
2016/01/21 职场文书
小学四年级作文之人物作文
2019/11/06 职场文书
教你使用Pandas直接核算Excel中快递费用
2021/05/12 Python