2021-02-24 20:40:04 +00:00
< ? php
//============================================================+
// File name : example_005.php
// Begin : 2008-03-04
// Last Update : 2013-05-14
//
// Description : Example 005 for TCPDF class
// Multicell
//
// Author: Nicola Asuni
//
// (c) Copyright:
// Nicola Asuni
// Tecnick.com LTD
// 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
2023-01-27 11:31:27 +00:00
* @ group cell
* @ group pdf
2021-02-24 20:40:04 +00:00
*/
// Include the main TCPDF library (search for installation path).
require_once ( 'tcpdf_include.php' );
// create new PDF document
$pdf = new TCPDF ( PDF_PAGE_ORIENTATION , PDF_UNIT , PDF_PAGE_FORMAT , true , 'UTF-8' , false );
// set document information
2023-01-27 11:31:27 +00:00
$pdf -> setCreator ( PDF_CREATOR );
$pdf -> setAuthor ( 'Nicola Asuni' );
$pdf -> setTitle ( 'TCPDF Example 005' );
$pdf -> setSubject ( 'TCPDF Tutorial' );
$pdf -> setKeywords ( 'TCPDF, PDF, example, test, guide' );
2021-02-24 20:40:04 +00:00
// set default header data
2023-01-27 11:31:27 +00:00
$pdf -> setHeaderData ( PDF_HEADER_LOGO , PDF_HEADER_LOGO_WIDTH , PDF_HEADER_TITLE . ' 005' , PDF_HEADER_STRING );
2021-02-24 20:40:04 +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 ));
// set default monospaced font
2023-01-27 11:31:27 +00:00
$pdf -> setDefaultMonospacedFont ( PDF_FONT_MONOSPACED );
2021-02-24 20:40:04 +00:00
// set margins
2023-01-27 11:31:27 +00:00
$pdf -> setMargins ( PDF_MARGIN_LEFT , PDF_MARGIN_TOP , PDF_MARGIN_RIGHT );
$pdf -> setHeaderMargin ( PDF_MARGIN_HEADER );
$pdf -> setFooterMargin ( PDF_MARGIN_FOOTER );
2021-02-24 20:40:04 +00:00
// set auto page breaks
2023-01-27 11:31:27 +00:00
$pdf -> setAutoPageBreak ( TRUE , PDF_MARGIN_BOTTOM );
2021-02-24 20:40:04 +00:00
// set image scale factor
$pdf -> setImageScale ( PDF_IMAGE_SCALE_RATIO );
// set some language-dependent strings (optional)
if ( @ file_exists ( dirname ( __FILE__ ) . '/lang/eng.php' )) {
require_once ( dirname ( __FILE__ ) . '/lang/eng.php' );
$pdf -> setLanguageArray ( $l );
}
// ---------------------------------------------------------
// set font
2023-01-27 11:31:27 +00:00
$pdf -> setFont ( 'times' , '' , 10 );
2021-02-24 20:40:04 +00:00
// add a page
$pdf -> AddPage ();
// set cell padding
$pdf -> setCellPaddings ( 1 , 1 , 1 , 1 );
// set cell margins
$pdf -> setCellMargins ( 1 , 1 , 1 , 1 );
// set color for background
2023-01-27 11:31:27 +00:00
$pdf -> setFillColor ( 255 , 255 , 127 );
2021-02-24 20:40:04 +00:00
// 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.' ;
// Multicell test
$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 );
$pdf -> Ln ( 4 );
// set color for background
2023-01-27 11:31:27 +00:00
$pdf -> setFillColor ( 220 , 255 , 220 );
2021-02-24 20:40:04 +00:00
// 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 );
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// set color for background
2023-01-27 11:31:27 +00:00
$pdf -> setFillColor ( 215 , 235 , 255 );
2021-02-24 20:40:04 +00:00
// 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 .
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 . ' ;
// print a blox of text using multicell()
$pdf -> MultiCell ( 80 , 5 , $txt . " \n " , 1 , 'J' , 1 , 1 , '' , '' , true );
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// AUTO-FITTING
// set color for background
2023-01-27 11:31:27 +00:00
$pdf -> setFillColor ( 255 , 235 , 235 );
2021-02-24 20:40:04 +00:00
// Fit text on cell by reducing font size
$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
2023-01-27 11:31:27 +00:00
$pdf -> setFillColor ( 255 , 255 , 215 );
2021-02-24 20:40:04 +00:00
// set font
2023-01-27 11:31:27 +00:00
$pdf -> setFont ( 'helvetica' , '' , 8 );
2021-02-24 20:40:04 +00:00
// 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 );
// move pointer to last page
$pdf -> lastPage ();
// ---------------------------------------------------------
//Close and output PDF document
$pdf -> Output ( 'example_005.pdf' , 'I' );
//============================================================+
// END OF FILE
//============================================================+