Chinaunix首页 | 论坛 | 博客
  • 博客访问: 550223
  • 博文数量: 107
  • 博客积分: 5229
  • 博客等级: 大校
  • 技术积分: 1158
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-08 10:50
文章分类
文章存档

2015年(1)

2014年(1)

2012年(5)

2011年(22)

2010年(12)

2009年(13)

2008年(34)

2007年(19)

我的朋友

分类:

2008-04-21 17:25:48

这个再生成pdf的格式很不错!!!!!!
 
//**************************代码区***************************************
require('fpdf.php');
class PDF_MC_Table extends FPDF
{
var $widths;
var $aligns;
function SetWidths($w)
{
 //Set the array of column widths
 $this->widths=$w;
}
function SetAligns($a)
{
 //Set the array of column alignments
 $this->aligns=$a;
}
function Row($data)
{
 //Calculate the height of the row
 $nb=0;
 for($i=0;$i  $nb=max($nb,$this->NbLines($this->widths[$i],$data[$i]));
 $h=5*$nb;
 //Issue a page break first if needed
 $this->CheckPageBreak($h);
 //Draw the cells of the row
 for($i=0;$i {
  $w=$this->widths[$i];
  $a=isset($this->aligns[$i]) ? $this->aligns[$i] : 'L';
  //Save the current position
  $x=$this->GetX();
  $y=$this->GetY();
  //Draw the border
  $this->Rect($x,$y,$w,$h);
  //Print the text
  $this->MultiCell($w,5,$data[$i],0,$a);
  //Put the position to the right of the cell
  $this->SetXY($x+$w,$y);
 }
 //Go to the next line
 $this->Ln($h);
}
function CheckPageBreak($h)
{
 //If the height h would cause an overflow, add a new page immediately
 if($this->GetY()+$h>$this->PageBreakTrigger)
  $this->AddPage($this->CurOrientation);
}
function NbLines($w,$txt)
{
 //Computes the number of lines a MultiCell of width w will take
 $cw=&$this->CurrentFont['cw'];
 if($w==0)
  $w=$this->w-$this->rMargin-$this->x;
 $wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
 $s=str_replace("\r",'',$txt);
 $nb=strlen($s);
 if($nb>0 and $s[$nb-1]=="\n")
  $nb--;
 $sep=-1;
 $i=0;
 $j=0;
 $l=0;
 $nl=1;
 while($i<$nb)
 {
  $c=$s[$i];
  if($c=="\n")
  {
   $i++;
   $sep=-1;
   $j=$i;
   $l=0;
   $nl++;
   continue;
  }
  if($c==' ')
   $sep=$i;
  $l+=$cw[$c];
  if($l>$wmax)
  {
   if($sep==-1)
   {
    if($i==$j)
     $i++;
   }
   else
    $i=$sep+1;
   $sep=-1;
   $j=$i;
   $l=0;
   $nl++;
  }
  else
   $i++;
 }
 return $nl;
}
}
?>
//***************************************************************************
文件: mc_table.zip
大小: 7KB
下载: 下载

阅读(1064) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~