1<?php 2//============================================================+ 3// File name : example_011.php 4// Begin : 2008-03-04 5// Last Update : 2013-05-14 6// 7// Description : Example 011 for TCPDF class 8// Colored Table (very simple table) 9// 10// Author: Nicola Asuni 11// 12// (c) Copyright: 13// Nicola Asuni 14// Tecnick.com LTD 15// www.tecnick.com 16// info@tecnick.com 17//============================================================+ 18 19/** 20 * Creates an example PDF TEST document using TCPDF 21 * @package com.tecnick.tcpdf 22 * @abstract TCPDF - Example: Colored Table 23 * @author Nicola Asuni 24 * @since 2008-03-04 25 */ 26 27// Include the main TCPDF library (search for installation path). 28require_once('tcpdf_include.php'); 29 30// extend TCPF with custom functions 31class MYPDF extends TCPDF { 32 33 // Load table data from file 34 public function LoadData($file) { 35 // Read file lines 36 $lines = file($file); 37 $data = array(); 38 foreach($lines as $line) { 39 $data[] = explode(';', chop($line)); 40 } 41 return $data; 42 } 43 44 // Colored table 45 public function ColoredTable($header,$data) { 46 // Colors, line width and bold font 47 $this->SetFillColor(255, 0, 0); 48 $this->SetTextColor(255); 49 $this->SetDrawColor(128, 0, 0); 50 $this->SetLineWidth(0.3); 51 $this->SetFont('', 'B'); 52 // Header 53 $w = array(40, 35, 40, 45); 54 $num_headers = count($header); 55 for($i = 0; $i < $num_headers; ++$i) { 56 $this->Cell($w[$i], 7, $header[$i], 1, 0, 'C', 1); 57 } 58 $this->Ln(); 59 // Color and font restoration 60 $this->SetFillColor(224, 235, 255); 61 $this->SetTextColor(0); 62 $this->SetFont(''); 63 // Data 64 $fill = 0; 65 foreach($data as $row) { 66 $this->Cell($w[0], 6, $row[0], 'LR', 0, 'L', $fill); 67 $this->Cell($w[1], 6, $row[1], 'LR', 0, 'L', $fill); 68 $this->Cell($w[2], 6, number_format($row[2]), 'LR', 0, 'R', $fill); 69 $this->Cell($w[3], 6, number_format($row[3]), 'LR', 0, 'R', $fill); 70 $this->Ln(); 71 $fill=!$fill; 72 } 73 $this->Cell(array_sum($w), 0, '', 'T'); 74 } 75} 76 77// create new PDF document 78$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 79 80// set document information 81$pdf->SetCreator(PDF_CREATOR); 82$pdf->SetAuthor('Nicola Asuni'); 83$pdf->SetTitle('TCPDF Example 011'); 84$pdf->SetSubject('TCPDF Tutorial'); 85$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); 86 87// set default header data 88$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 011', PDF_HEADER_STRING); 89 90// set header and footer fonts 91$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); 92$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); 93 94// set default monospaced font 95$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); 96 97// set margins 98$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); 99$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); 100$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); 101 102// set auto page breaks 103$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); 104 105// set image scale factor 106$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); 107 108// set some language-dependent strings (optional) 109if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { 110 require_once(dirname(__FILE__).'/lang/eng.php'); 111 $pdf->setLanguageArray($l); 112} 113 114// --------------------------------------------------------- 115 116// set font 117$pdf->SetFont('helvetica', '', 12); 118 119// add a page 120$pdf->AddPage(); 121 122// column titles 123$header = array('Country', 'Capital', 'Area (sq km)', 'Pop. (thousands)'); 124 125// data loading 126$data = $pdf->LoadData('data/table_data_demo.txt'); 127 128// print colored table 129$pdf->ColoredTable($header, $data); 130 131// --------------------------------------------------------- 132 133// close and output PDF document 134$pdf->Output('example_011.pdf', 'I'); 135 136//============================================================+ 137// END OF FILE 138//============================================================+ 139