2009-09-30 09:18:36 +00:00
< ? php
//============================================================+
// File name : example_005.php
// Begin : 2008-03-04
2013-05-14 20:28:42 +00:00
// Last Update : 2013-05-14
2010-05-21 16:47:01 +00:00
//
2009-09-30 09:18:36 +00:00
// Description : Example 005 for TCPDF class
// Multicell
2010-05-21 16:47:01 +00:00
//
2009-09-30 09:18:36 +00:00
// Author: Nicola Asuni
2010-05-21 16:47:01 +00:00
//
2009-09-30 09:18:36 +00:00
// (c) Copyright:
// Nicola Asuni
2011-12-23 17:19:43 +00:00
// Tecnick.com LTD
2009-09-30 09:18:36 +00:00
// www.tecnick.com
// info@tecnick.com
//============================================================+
/**
* Creates an example PDF TEST document using TCPDF
* @ package com . tecnick . tcpdf
* @ abstract TCPDF - Example : Multicell
* @ author Nicola Asuni
* @ since 2008 - 03 - 04
*/
2013-05-14 20:28:42 +00:00
// Include the main TCPDF library (search for installation path).
require_once ( 'tcpdf_include.php' );
2009-09-30 09:18:36 +00:00
// create new PDF document
2010-05-21 16:47:01 +00:00
$pdf = new TCPDF ( PDF_PAGE_ORIENTATION , PDF_UNIT , PDF_PAGE_FORMAT , true , 'UTF-8' , false );
2009-09-30 09:18:36 +00:00
// set document information
$pdf -> SetCreator ( PDF_CREATOR );
$pdf -> SetAuthor ( 'Nicola Asuni' );
$pdf -> SetTitle ( 'TCPDF Example 005' );
$pdf -> SetSubject ( 'TCPDF Tutorial' );
$pdf -> SetKeywords ( 'TCPDF, PDF, example, test, guide' );
// set default header data
2010-05-21 16:47:01 +00:00
$pdf -> SetHeaderData ( PDF_HEADER_LOGO , PDF_HEADER_LOGO_WIDTH , PDF_HEADER_TITLE . ' 005' , PDF_HEADER_STRING );
2009-09-30 09:18:36 +00:00
// 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 ));
2009-03-24 18:37:18 +00:00
// set default monospaced font
$pdf -> SetDefaultMonospacedFont ( PDF_FONT_MONOSPACED );
2009-09-30 09:18:36 +00:00
2013-05-14 20:28:42 +00:00
// set margins
2009-09-30 09:18:36 +00:00
$pdf -> SetMargins ( PDF_MARGIN_LEFT , PDF_MARGIN_TOP , PDF_MARGIN_RIGHT );
$pdf -> SetHeaderMargin ( PDF_MARGIN_HEADER );
$pdf -> SetFooterMargin ( PDF_MARGIN_FOOTER );
2013-05-14 20:28:42 +00:00
// set auto page breaks
2009-09-30 09:18:36 +00:00
$pdf -> SetAutoPageBreak ( TRUE , PDF_MARGIN_BOTTOM );
2013-05-14 20:28:42 +00:00
// set image scale factor
2010-05-21 16:47:01 +00:00
$pdf -> setImageScale ( PDF_IMAGE_SCALE_RATIO );
2009-09-30 09:18:36 +00:00
2013-05-14 20:28:42 +00:00
// set some language-dependent strings (optional)
2013-06-04 19:55:07 +00:00
if ( @ file_exists ( dirname ( __FILE__ ) . '/lang/eng.php' )) {
2013-05-14 20:28:42 +00:00
require_once ( dirname ( __FILE__ ) . '/lang/eng.php' );
$pdf -> setLanguageArray ( $l );
}
2009-09-30 09:18:36 +00:00
// ---------------------------------------------------------
// set font
$pdf -> SetFont ( 'times' , '' , 10 );
// add a page
$pdf -> AddPage ();
2010-10-04 15:59:10 +00:00
// set cell padding
$pdf -> setCellPaddings ( 1 , 1 , 1 , 1 );
// set cell margins
$pdf -> setCellMargins ( 1 , 1 , 1 , 1 );
2010-05-21 16:47:01 +00:00
// set color for background
$pdf -> SetFillColor ( 255 , 255 , 127 );
// MultiCell($w, $h, $txt, $border=0, $align='J', $fill=0, $ln=1, $x='', $y='', $reseth=true, $stretch=0, $ishtml=false, $autopadding=true, $maxh=0)
// set some text for example
$txt = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.' ;
2009-09-30 09:18:36 +00:00
// Multicell test
2010-05-21 16:47:01 +00:00
$pdf -> MultiCell ( 55 , 5 , '[LEFT] ' . $txt , 1 , 'L' , 1 , 0 , '' , '' , true );
$pdf -> MultiCell ( 55 , 5 , '[RIGHT] ' . $txt , 1 , 'R' , 0 , 1 , '' , '' , true );
$pdf -> MultiCell ( 55 , 5 , '[CENTER] ' . $txt , 1 , 'C' , 0 , 0 , '' , '' , true );
$pdf -> MultiCell ( 55 , 5 , '[JUSTIFY] ' . $txt . " \n " , 1 , 'J' , 1 , 2 , '' , '' , true );
$pdf -> MultiCell ( 55 , 5 , '[DEFAULT] ' . $txt , 1 , '' , 0 , 1 , '' , '' , true );
2010-07-02 11:06:27 +00:00
$pdf -> Ln ( 4 );
// set color for background
$pdf -> SetFillColor ( 220 , 255 , 220 );
// Vertical alignment
$pdf -> MultiCell ( 55 , 40 , '[VERTICAL ALIGNMENT - TOP] ' . $txt , 1 , 'J' , 1 , 0 , '' , '' , true , 0 , false , true , 40 , 'T' );
$pdf -> MultiCell ( 55 , 40 , '[VERTICAL ALIGNMENT - MIDDLE] ' . $txt , 1 , 'J' , 1 , 0 , '' , '' , true , 0 , false , true , 40 , 'M' );
$pdf -> MultiCell ( 55 , 40 , '[VERTICAL ALIGNMENT - BOTTOM] ' . $txt , 1 , 'J' , 1 , 1 , '' , '' , true , 0 , false , true , 40 , 'B' );
$pdf -> Ln ( 4 );
2010-10-04 15:59:10 +00:00
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2010-05-21 16:47:01 +00:00
// set color for background
$pdf -> SetFillColor ( 215 , 235 , 255 );
// set some text for example
$txt = ' Lorem ipsum dolor sit amet , consectetur adipiscing elit . In sed imperdiet lectus . Phasellus quis velit velit , non condimentum quam . Sed neque urna , ultrices ac volutpat vel , laoreet vitae augue . Sed vel velit erat . Class aptent taciti sociosqu ad litora torquent per conubia nostra , per inceptos himenaeos . Cras eget velit nulla , eu sagittis elit . Nunc ac arcu est , in lobortis tellus . Praesent condimentum rhoncus sodales . In hac habitasse platea dictumst . Proin porta eros pharetra enim tincidunt dignissim nec vel dolor . Cras sapien elit , ornare ac dignissim eu , ultricies ac eros . Maecenas augue magna , ultrices a congue in , mollis eu nulla . Nunc venenatis massa at est eleifend faucibus . Vivamus sed risus lectus , nec interdum nunc .
2009-09-30 09:18:36 +00:00
2010-05-21 16:47:01 +00:00
Fusce et felis vitae diam lobortis sollicitudin . Aenean tincidunt accumsan nisi , id vehicula quam laoreet elementum . Phasellus egestas interdum erat , et viverra ipsum ultricies ac . Praesent sagittis augue at augue volutpat eleifend . Cras nec orci neque . Mauris bibendum posuere blandit . Donec feugiat mollis dui sit amet pellentesque . Sed a enim justo . Donec tincidunt , nisl eget elementum aliquam , odio ipsum ultrices quam , eu porttitor ligula urna at lorem . Donec varius , eros et convallis laoreet , ligula tellus consequat felis , ut ornare metus tellus sodales velit . Duis sed diam ante . Ut rutrum malesuada massa , vitae consectetur ipsum rhoncus sed . Suspendisse potenti . Pellentesque a congue massa . ' ;
2009-09-30 09:18:36 +00:00
2010-05-21 16:47:01 +00:00
// print a blox of text using multicell()
$pdf -> MultiCell ( 80 , 5 , $txt . " \n " , 1 , 'J' , 1 , 1 , '' , '' , true );
2009-09-30 09:18:36 +00:00
2010-10-04 15:59:10 +00:00
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// AUTO-FITTING
2010-07-02 11:06:27 +00:00
// set color for background
$pdf -> SetFillColor ( 255 , 235 , 235 );
// Fit text on cell by reducing font size
2010-10-04 15:59:10 +00:00
$pdf -> MultiCell ( 55 , 60 , '[FIT CELL] ' . $txt . " \n " , 1 , 'J' , 1 , 1 , 125 , 145 , true , 0 , false , true , 60 , 'M' , true );
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// CUSTOM PADDING
// set color for background
$pdf -> SetFillColor ( 255 , 255 , 215 );
// set font
$pdf -> SetFont ( 'helvetica' , '' , 8 );
// set cell padding
$pdf -> setCellPaddings ( 2 , 4 , 6 , 8 );
$txt = " CUSTOM PADDING: \n Left=2, Top=4, Right=6, Bottom=8 \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdiet lectus. Phasellus quis velit velit, non condimentum quam. Sed neque urna, ultrices ac volutpat vel, laoreet vitae augue. \n " ;
$pdf -> MultiCell ( 55 , 5 , $txt , 1 , 'J' , 1 , 2 , 125 , 210 , true );
2010-07-02 11:06:27 +00:00
2010-05-21 16:47:01 +00:00
// move pointer to last page
2009-09-30 09:18:36 +00:00
$pdf -> lastPage ();
// ---------------------------------------------------------
//Close and output PDF document
$pdf -> Output ( 'example_005.pdf' , 'I' );
//============================================================+
2010-07-02 11:06:27 +00:00
// END OF FILE
2009-09-30 09:18:36 +00:00
//============================================================+