Blame | Last modification | View Log | RSS feed
<?php//============================================================+// File name : example_010.php// Begin : 2008-03-04// Last Update : 2010-08-11//// Description : Example 010 for TCPDF class// Text on multiple columns//// Author: Nicola Asuni//// (c) Copyright:// Nicola Asuni// Tecnick.com s.r.l.// Via Della Pace, 11// 09044 Quartucciu (CA)// ITALY// www.tecnick.com// info@tecnick.com//============================================================+/*** Creates an example PDF TEST document using TCPDF* @package com.tecnick.tcpdf* @abstract TCPDF - Example: Text on multiple columns* @author Nicola Asuni* @copyright 2004-2009 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com* @link http://tcpdf.org* @license http://www.gnu.org/copyleft/lesser.html LGPL* @since 2008-03-04*/require_once('../config/lang/eng.php');require_once('../tcpdf.php');/*** Extend TCPDF to work with multiple columns*/class MC_TCPDF extends TCPDF {/*** Print chapter* @param int $num chapter number* @param string $title chapter title* @param string $file name of the file containing the chapter body* @param boolean $mode if true the chapter body is in HTML, otherwise in simple text.* @access public*/public function PrintChapter($num, $title, $file, $mode=false) {// disable existing columns$this->setEqualColumns();// add a new page$this->AddPage();// reset margins$this->selectColumn();// print chapter title$this->ChapterTitle($num, $title);// set columns$this->setEqualColumns(3, 57);// print chapter body$this->ChapterBody($file, $mode);}/*** Set chapter title* @param int $num chapter number* @param string $title chapter title* @access public*/public function ChapterTitle($num, $title) {$this->SetFont('helvetica', '', 14);$this->SetFillColor(200, 220, 255);$this->Cell(180, 6, 'Chapter '.$num.' : '.$title, 0, 1, '', 1);$this->Ln(4);}/*** Print chapter body* @param string $file name of the file containing the chapter body* @param boolean $mode if true the chapter body is in HTML, otherwise in simple text.* @access public*/public function ChapterBody($file, $mode=false) {$this->selectColumn();// get esternal file content$content = file_get_contents($file, false);// set font$this->SetFont('times', '', 9);$this->SetTextColor(50, 50, 50);// print contentif ($mode) {// ------ HTML MODE ------$this->writeHTML($content, true, false, true, false, 'J');} else {// ------ TEXT MODE ------$this->Write(0, $content, '', 0, 'J', true, 0, false, true, 0);}$this->Ln();}} // end of extended class// ---------------------------------------------------------// EXAMPLE// ---------------------------------------------------------// create new PDF document$pdf = new MC_TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);// set document information$pdf->SetCreator(PDF_CREATOR);$pdf->SetAuthor('Nicola Asuni');$pdf->SetTitle('TCPDF Example 010');$pdf->SetSubject('TCPDF Tutorial');$pdf->SetKeywords('TCPDF, PDF, example, test, guide');// set default header data$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 010', 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_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);//set auto page breaks$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);//set image scale factor$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);//set some language-dependent strings$pdf->setLanguageArray($l);// ---------------------------------------------------------// print TEXT$pdf->PrintChapter(1, 'LOREM IPSUM [TEXT]', '../cache/chapter_demo_1.txt', false);// print HTML$pdf->PrintChapter(2, 'LOREM IPSUM [HTML]', '../cache/chapter_demo_2.txt', true);// ---------------------------------------------------------//Close and output PDF document$pdf->Output('example_010.pdf', 'I');//============================================================+// END OF FILE//============================================================+