| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 | <?phprequire('../fpdf.php');class PDF extends FPDF{// Load datafunction LoadData($file){	// Read file lines	$lines = file($file);	$data = array();	foreach($lines as $line)		$data[] = explode(';',trim($line));	return $data;}// Simple tablefunction BasicTable($header, $data){	// Header	foreach($header as $col)		$this->Cell(40,7,$col,1);	$this->Ln();	// Data	foreach($data as $row)	{		foreach($row as $col)			$this->Cell(40,6,$col,1);		$this->Ln();	}}// Better tablefunction ImprovedTable($header, $data){	// Column widths	$w = array(40, 35, 40, 45);	// Header	for($i=0;$i<count($header);$i++)		$this->Cell($w[$i],7,$header[$i],1,0,'C');	$this->Ln();	// Data	foreach($data as $row)	{		$this->Cell($w[0],6,$row[0],'LR');		$this->Cell($w[1],6,$row[1],'LR');		$this->Cell($w[2],6,number_format($row[2]),'LR',0,'R');		$this->Cell($w[3],6,number_format($row[3]),'LR',0,'R');		$this->Ln();	}	// Closing line	$this->Cell(array_sum($w),0,'','T');}// Colored tablefunction FancyTable($header, $data){	// Colors, line width and bold font	$this->SetFillColor(255,0,0);	$this->SetTextColor(255);	$this->SetDrawColor(128,0,0);	$this->SetLineWidth(.3);	$this->SetFont('','B');	// Header	$w = array(40, 35, 40, 45);	for($i=0;$i<count($header);$i++)		$this->Cell($w[$i],7,$header[$i],1,0,'C',true);	$this->Ln();	// Color and font restoration	$this->SetFillColor(224,235,255);	$this->SetTextColor(0);	$this->SetFont('');	// Data	$fill = false;	foreach($data as $row)	{		$this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);		$this->Cell($w[1],6,$row[1],'LR',0,'L',$fill);		$this->Cell($w[2],6,number_format($row[2]),'LR',0,'R',$fill);		$this->Cell($w[3],6,number_format($row[3]),'LR',0,'R',$fill);		$this->Ln();		$fill = !$fill;	}	// Closing line	$this->Cell(array_sum($w),0,'','T');}}$pdf = new PDF();// Column headings$header = array('Country', 'Capital', 'Area (sq km)', 'Pop. (thousands)');// Data loading$data = $pdf->LoadData('countries.txt');$pdf->SetFont('Arial','',14);$pdf->AddPage();$pdf->BasicTable($header,$data);$pdf->AddPage();$pdf->ImprovedTable($header,$data);$pdf->AddPage();$pdf->FancyTable($header,$data);$pdf->Output();?>
 |