2 //============================================================+
3 // File name : example_010.php
5 // Last Update : 2013-05-14
7 // Description : Example 010 for TCPDF class
8 // Text on multiple columns
10 // Author: Nicola Asuni
17 //============================================================+
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
27 // Include the main TCPDF library (search for installation path).
28 require_once('tcpdf_include.php');
32 * Extend TCPDF to work with multiple columns
34 class MC_TCPDF
extends TCPDF
{
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.
44 public function PrintChapter($num, $title, $file, $mode=false) {
47 // disable existing columns
48 $this->resetColumns();
49 // print chapter title
50 $this->ChapterTitle($num, $title);
52 $this->setEqualColumns(3, 57);
54 $this->ChapterBody($file, $mode);
59 * @param $num (int) chapter number
60 * @param $title (string) chapter title
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);
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.
76 public function ChapterBody($file, $mode=false) {
77 $this->selectColumn();
78 // get esternal file content
79 $content = file_get_contents($file, false);
81 $this->SetFont('times', '', 9);
82 $this->SetTextColor(50, 50, 50);
85 // ------ HTML MODE ------
86 $this->writeHTML($content, true, false, true, false, 'J');
88 // ------ TEXT MODE ------
89 $this->Write(0, $content, '', 0, 'J', true, 0, false, true, 0);
93 } // end of extended class
95 // ---------------------------------------------------------
97 // ---------------------------------------------------------
98 // create new PDF document
99 $pdf = new MC_TCPDF(PDF_PAGE_ORIENTATION
, PDF_UNIT
, PDF_PAGE_FORMAT
, true, 'UTF-8', false);
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');
108 // set default header data
109 $pdf->SetHeaderData(PDF_HEADER_LOGO
, PDF_HEADER_LOGO_WIDTH
, PDF_HEADER_TITLE
.' 010', PDF_HEADER_STRING
);
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
));
115 // set default monospaced font
116 $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED
);
119 $pdf->SetMargins(PDF_MARGIN_LEFT
, PDF_MARGIN_TOP
, PDF_MARGIN_RIGHT
);
120 $pdf->SetHeaderMargin(PDF_MARGIN_HEADER
);
121 $pdf->SetFooterMargin(PDF_MARGIN_FOOTER
);
123 // set auto page breaks
124 $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM
);
126 // set image scale factor
127 $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO
);
129 // set some language-dependent strings (optional)
130 if (@file_exists
(dirname(__FILE__
).'/lang/eng.php')) {
131 require_once(dirname(__FILE__
).'/lang/eng.php');
132 $pdf->setLanguageArray($l);
135 // ---------------------------------------------------------
138 $pdf->PrintChapter(1, 'LOREM IPSUM [TEXT]', 'data/chapter_demo_1.txt', false);
141 $pdf->PrintChapter(2, 'LOREM IPSUM [HTML]', 'data/chapter_demo_2.txt', true);
143 // ---------------------------------------------------------
145 //Close and output PDF document
146 $pdf->Output('example_010.pdf', 'I');
148 //============================================================+
150 //============================================================+