source: trunk/client/inc/hpdf/_fpdf/tutorial/tuto5.php@ 2

Last change on this file since 2 was 2, checked in by root, 15 years ago

importo il progetto

File size: 2.2 KB
Line 
1<?php
2require('../fpdf.php');
3
4class PDF extends FPDF
5{
6//Load data
7function 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
18function 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
34function 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
56function 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',true);
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=false;
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?>
Note: See TracBrowser for help on using the repository browser.