1<?php 2//============================================================+ 3// File name : example_010.php 4// Begin : 2008-03-04 5// Last Update : 2013-05-14 6// 7// Description : Example 010 for TCPDF class 8// Text on multiple columns 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: Text on multiple columns 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 31/** 32 * Extend TCPDF to work with multiple columns 33 */ 34class MC_TCPDF extends TCPDF { 35 36 /** 37 * Print chapter 38 * @param $num (int) chapter number 39 * @param $title (string) chapter title 40 * @param $file (string) name of the file containing the chapter body 41 * @param $mode (boolean) if true the chapter body is in HTML, otherwise in simple text. 42 * @public 43 */ 44 public function PrintChapter($num, $title, $file, $mode=false) { 45 // add a new page 46 $this->AddPage(); 47 // disable existing columns 48 $this->resetColumns(); 49 // print chapter title 50 $this->ChapterTitle($num, $title); 51 // set columns 52 $this->setEqualColumns(3, 57); 53 // print chapter body 54 $this->ChapterBody($file, $mode); 55 } 56 57 /** 58 * Set chapter title 59 * @param $num (int) chapter number 60 * @param $title (string) chapter title 61 * @public 62 */ 63 public function ChapterTitle($num, $title) { 64 $this->SetFont('helvetica', '', 14); 65 $this->SetFillColor(200, 220, 255); 66 $this->Cell(180, 6, 'Chapter '.$num.' : '.$title, 0, 1, '', 1); 67 $this->Ln(4); 68 } 69 70 /** 71 * Print chapter body 72 * @param $file (string) name of the file containing the chapter body 73 * @param $mode (boolean) if true the chapter body is in HTML, otherwise in simple text. 74 * @public 75 */ 76 public function ChapterBody($file, $mode=false) { 77 $this->selectColumn(); 78 // get esternal file content 79 $content = file_get_contents($file, false); 80 // set font 81 $this->SetFont('times', '', 9); 82 $this->SetTextColor(50, 50, 50); 83 // print content 84 if ($mode) { 85 // ------ HTML MODE ------ 86 $this->writeHTML($content, true, false, true, false, 'J'); 87 } else { 88 // ------ TEXT MODE ------ 89 $this->Write(0, $content, '', 0, 'J', true, 0, false, true, 0); 90 } 91 $this->Ln(); 92 } 93} // end of extended class 94 95// --------------------------------------------------------- 96// EXAMPLE 97// --------------------------------------------------------- 98// create new PDF document 99$pdf = new MC_TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 100 101// set document information 102$pdf->SetCreator(PDF_CREATOR); 103$pdf->SetAuthor('Nicola Asuni'); 104$pdf->SetTitle('TCPDF Example 010'); 105$pdf->SetSubject('TCPDF Tutorial'); 106$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); 107 108// set default header data 109$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 010', PDF_HEADER_STRING); 110 111// set header and footer fonts 112$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); 113$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); 114 115// set default monospaced font 116$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); 117 118// set margins 119$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); 120$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); 121$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); 122 123// set auto page breaks 124$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); 125 126// set image scale factor 127$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); 128 129// set some language-dependent strings (optional) 130if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { 131 require_once(dirname(__FILE__).'/lang/eng.php'); 132 $pdf->setLanguageArray($l); 133} 134 135// --------------------------------------------------------- 136 137// print TEXT 138$pdf->PrintChapter(1, 'LOREM IPSUM [TEXT]', 'data/chapter_demo_1.txt', false); 139 140// print HTML 141$pdf->PrintChapter(2, 'LOREM IPSUM [HTML]', 'data/chapter_demo_2.txt', true); 142 143// --------------------------------------------------------- 144 145//Close and output PDF document 146$pdf->Output('example_010.pdf', 'I'); 147 148//============================================================+ 149// END OF FILE 150//============================================================+ 151