PHP使用FPDF创建PDF

一 29th, 2008
<?php
/**
 * PHP使用FPDF创建PDF
 * 2008-1-29
 * ZhaiPeng.cn
 * FPDF 是 “Free PDF” 的缩写 , 是免费PDF的意思,FPDF提供了基本的PDF创建功能,并且其源码和使用授权都是免费的
 * 下载安装 : http://www.fpdf.org 下载 chinese.zip (因为要用到中文) 和 最新版本的 FPDF
 * 整理目录:
 * fpdf/chinese.php
 * fpdf/fpdf.php
 * fpdf/fpdf.css
 * fpdf/font
 * 其它不必要的文件可以删除
 * 语法请看fpdf中文在线手册 : http://www.zhaipeng.cn/manual/fpdf/doc152-html-zh_CN/
 * 下面是一个使用例子(电脑要安装Adodb Reader 才能阅读pdf文件)
**/
 
/*
  因为使用中文不必定义font文件夹
  define(”FPDF_FONTPATH” , dirname(__FILE__).”/font/”);
*/
 
require_once(dirname(__FILE__).'/chinese.php');
class PDF extends PDF_Chinese{
  function Header(){ //设置页眉
  $this->SetFont('GB' , '' , 10); //设置字体样式 (中文 , '' , 字体大小)
  $this->Write(10 , 'http://www.ZhaiPeng.cn');$this->Ln(20);
  }
  function Footer(){ //设置页脚
  $this->SetY(-15);
  $this->SetFont('GB' , '' , 10);
  $this->Cell(0 , 10 , '第'.$this->PageNo().'頁');
  }
}$pdf = new PDF(); //创建FPDF对象
$pdf->AddGBFont(); //载入中文字体$width = array(20 , 80 , 40 , 20); // 设置每格宽度
$header = array('产品编号' , '产品名称' , '产品类型' , '产品单价'); //设置表头
$products = array(
  array('No001' , '产品名称1' , '产品类型1','100'),
  array('No002' , '产品名称2' , '产品类型2','200'),
  array('No003' , '产品名称3' , '产品类型3','300'),
  array('No004' , '产品名称4' , '产品类型4','400'),
  array('No005' , '产品名称5' , '产品类型5','500'));
 
$pdf->Open(); //开始创建PDF
 
$pdf->AliasNbPages(); //为每一页定义一个别名。每一页会由这个别名代替 ,预设别名为:{nb}.
 
$page = 0;
while($page < 3){
  $page ++;
  $pdf->AddPage(); //增加一页
 
//$pdf->Image('image.jpg' , 0 , 0 , 100 ,100); 插入图片 (图片名 , x坐标 ,y坐标 , 宽 , 高) 宽高为0 为图片实际大小
 
$pdf->SetFont('GB' , 'B' , 10); //设置字体样式 B为加粗
  $width_length = count($width); //表格个数
  for($i = 0 ; $i < $width_length ; $i ++){
  $pdf->Cell($width[$i] , 6 , $header[$i] , 1);
  }
  $pdf->Ln();//换行
  $pdf->SetFont('GB' , '' , 10);
  foreach($products as $product){
  for($i = 0 ; $i < $width_length ; $i ++){
  $pdf->Cell( $width[$i] ,6 , $product[$i] , 1);
  }
  $pdf->Ln();
  }
}
$pdf->OutPut(); //输出pdf $pdf->OutPut('test.pdf' , false) 输出到文件 , 如果第二个参数是 true是只能下载
?>
标签: