<?php
//============================================================+
// File name   : example_011.php
// Begin       : 2008-03-04
// Last Update : 2013-05-14
//
// Description : Example 011 for TCPDF class
//               Colored Table (very simple table)
//
// Author: Nicola Asuni
//
// (c) Copyright:
//               Nicola Asuni
//               Tecnick.com LTD
//               www.tecnick.com
//               info@tecnick.com
//============================================================+

/**
 * Creates an example PDF TEST document using TCPDF
 * @package com.tecnick.tcpdf
 * @abstract TCPDF - Example: Colored Table
 * @author Nicola Asuni
 * @since 2008-03-04
 */

// Include the main TCPDF library (search for installation path).
require_once('tcpdf_include.php');

// extend TCPF with custom functions
class MYPDF extends TCPDF {

    
// Load table data from file
    
public function LoadData($file) {
        
// Read file lines
        
$lines file($file);
        
$data = array();
        foreach(
$lines as $line) {
            
$data[] = explode(';'chop($line));
        }
        return 
$data;
    }

    
// Colored table
    
public function ColoredTable($header,$data) {
        
// Colors, line width and bold font
        
$this->SetFillColor(25500);
        
$this->SetTextColor(255);
        
$this->SetDrawColor(12800);
        
$this->SetLineWidth(0.3);
        
$this->SetFont('''B');
        
// Header
        
$w = array(40354045);
        
$num_headers count($header);
        for(
$i 0$i $num_headers; ++$i) {
            
$this->Cell($w[$i], 7$header[$i], 10'C'1);
        }
        
$this->Ln();
        
// Color and font restoration
        
$this->SetFillColor(224235255);
        
$this->SetTextColor(0);
        
$this->SetFont('');
        
// Data
        
$fill 0;
        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], 6number_format($row[2]), 'LR'0'R'$fill);
            
$this->Cell($w[3], 6number_format($row[3]), 'LR'0'R'$fill);
            
$this->Ln();
            
$fill=!$fill;
        }
        
$this->Cell(array_sum($w), 0'''T');
    }
}

// create new PDF document
$pdf = new MYPDF(PDF_PAGE_ORIENTATIONPDF_UNITPDF_PAGE_FORMATtrue'UTF-8'false);

// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 011');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');

// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGOPDF_HEADER_LOGO_WIDTHPDF_HEADER_TITLE.' 011'PDF_HEADER_STRING);

// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN''PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA''PDF_FONT_SIZE_DATA));

// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

// set margins
$pdf->SetMargins(PDF_MARGIN_LEFTPDF_MARGIN_TOPPDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

// set auto page breaks
$pdf->SetAutoPageBreak(TRUEPDF_MARGIN_BOTTOM);

// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

// set some language-dependent strings (optional)
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
    require_once(
dirname(__FILE__).'/lang/eng.php');
    
$pdf->setLanguageArray($l);
}

// ---------------------------------------------------------

// set font
$pdf->SetFont('helvetica'''12);

// add a page
$pdf->AddPage();

// column titles
$header = array('Country''Capital''Area (sq km)''Pop. (thousands)');

// data loading
$data $pdf->LoadData('data/table_data_demo.txt');

// print colored table
$pdf->ColoredTable($header$data);

// ---------------------------------------------------------

// close and output PDF document
$pdf->Output('example_011.pdf''I');

//============================================================+
// END OF FILE
//============================================================+