home *** CD-ROM | disk | FTP | other *** search
/ Cricao de Sites - 650 Layouts Prontos / WebMasters.iso / Servidores / xampp-win32-1.6.7-installer.exe / php / PEAR / fpdf / tutorial / tuto5.php < prev    next >
Encoding:
PHP Script  |  2004-12-31  |  2.2 KB  |  102 lines

  1. <?php
  2. require('../fpdf.php');
  3.  
  4. class PDF extends FPDF
  5. {
  6. //Load data
  7. function LoadData($file)
  8. {
  9.     //Read file lines
  10.     $lines=file($file);
  11.     $data=array();
  12.     foreach($lines as $line)
  13.         $data[]=explode(';',chop($line));
  14.     return $data;
  15. }
  16.  
  17. //Simple table
  18. function BasicTable($header,$data)
  19. {
  20.     //Header
  21.     foreach($header as $col)
  22.         $this->Cell(40,7,$col,1);
  23.     $this->Ln();
  24.     //Data
  25.     foreach($data as $row)
  26.     {
  27.         foreach($row as $col)
  28.             $this->Cell(40,6,$col,1);
  29.         $this->Ln();
  30.     }
  31. }
  32.  
  33. //Better table
  34. function ImprovedTable($header,$data)
  35. {
  36.     //Column widths
  37.     $w=array(40,35,40,45);
  38.     //Header
  39.     for($i=0;$i<count($header);$i++)
  40.         $this->Cell($w[$i],7,$header[$i],1,0,'C');
  41.     $this->Ln();
  42.     //Data
  43.     foreach($data as $row)
  44.     {
  45.         $this->Cell($w[0],6,$row[0],'LR');
  46.         $this->Cell($w[1],6,$row[1],'LR');
  47.         $this->Cell($w[2],6,number_format($row[2]),'LR',0,'R');
  48.         $this->Cell($w[3],6,number_format($row[3]),'LR',0,'R');
  49.         $this->Ln();
  50.     }
  51.     //Closure line
  52.     $this->Cell(array_sum($w),0,'','T');
  53. }
  54.  
  55. //Colored table
  56. function FancyTable($header,$data)
  57. {
  58.     //Colors, line width and bold font
  59.     $this->SetFillColor(255,0,0);
  60.     $this->SetTextColor(255);
  61.     $this->SetDrawColor(128,0,0);
  62.     $this->SetLineWidth(.3);
  63.     $this->SetFont('','B');
  64.     //Header
  65.     $w=array(40,35,40,45);
  66.     for($i=0;$i<count($header);$i++)
  67.         $this->Cell($w[$i],7,$header[$i],1,0,'C',1);
  68.     $this->Ln();
  69.     //Color and font restoration
  70.     $this->SetFillColor(224,235,255);
  71.     $this->SetTextColor(0);
  72.     $this->SetFont('');
  73.     //Data
  74.     $fill=0;
  75.     foreach($data as $row)
  76.     {
  77.         $this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
  78.         $this->Cell($w[1],6,$row[1],'LR',0,'L',$fill);
  79.         $this->Cell($w[2],6,number_format($row[2]),'LR',0,'R',$fill);
  80.         $this->Cell($w[3],6,number_format($row[3]),'LR',0,'R',$fill);
  81.         $this->Ln();
  82.         $fill=!$fill;
  83.     }
  84.     $this->Cell(array_sum($w),0,'','T');
  85. }
  86. }
  87.  
  88. $pdf=new PDF();
  89. //Column titles
  90. $header=array('Country','Capital','Area (sq km)','Pop. (thousands)');
  91. //Data loading
  92. $data=$pdf->LoadData('countries.txt');
  93. $pdf->SetFont('Arial','',14);
  94. $pdf->AddPage();
  95. $pdf->BasicTable($header,$data);
  96. $pdf->AddPage();
  97. $pdf->ImprovedTable($header,$data);
  98. $pdf->AddPage();
  99. $pdf->FancyTable($header,$data);
  100. $pdf->Output();
  101. ?>
  102.