2009-09-30 09:18:36 +00:00
< ? php
//============================================================+
// File name : example_050.php
// Begin : 2009-04-09
2011-09-22 07:40:33 +00:00
// Last Update : 2011-09-22
2010-03-27 17:52:11 +00:00
//
2009-09-30 09:18:36 +00:00
// Description : Example 050 for TCPDF class
// 2D Barcodes
2010-03-27 17:52:11 +00:00
//
2009-09-30 09:18:36 +00:00
// Author: Nicola Asuni
2010-03-27 17:52:11 +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
// Manor Coach House, Church Hill
// Aldershot, Hants, GU12 4RQ
// UK
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 : 2 D barcodes .
* @ author Nicola Asuni
* @ since 2008 - 03 - 04
*/
require_once ( '../config/lang/eng.php' );
require_once ( '../tcpdf.php' );
// create new PDF document
2010-03-27 17:52:11 +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 050' );
$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 . ' 050' , 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-04-10 15:57:36 +00:00
// set default monospaced font
$pdf -> SetDefaultMonospacedFont ( PDF_FONT_MONOSPACED );
2009-09-30 09:18:36 +00:00
//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
2010-03-27 17:52:11 +00:00
$pdf -> setImageScale ( PDF_IMAGE_SCALE_RATIO );
2009-09-30 09:18:36 +00:00
//set some language-dependent strings
2010-03-27 17:52:11 +00:00
$pdf -> setLanguageArray ( $l );
2009-09-30 09:18:36 +00:00
// ---------------------------------------------------------
2010-05-05 09:56:22 +00:00
// NOTE: 2D barcode algorithms must be implemented on 2dbarcode.php class file.
2009-09-30 09:18:36 +00:00
// set font
2011-09-22 07:40:33 +00:00
$pdf -> SetFont ( 'helvetica' , '' , 11 );
2009-09-30 09:18:36 +00:00
// add a page
$pdf -> AddPage ();
2011-09-22 07:40:33 +00:00
// print a message
$txt = " You can also export 2D barcodes in other formats (PNG, SVG, HTML). Check the source code documentation of TCPDF2DBarcode class for further information. " ;
$pdf -> MultiCell ( 70 , 50 , $txt , 0 , 'J' , false , 1 , 125 , 30 , true , 0 , false , true , 0 , 'T' , false );
$pdf -> SetFont ( 'helvetica' , '' , 10 );
2010-05-05 09:56:22 +00:00
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// set style for barcode
2009-09-30 09:18:36 +00:00
$style = array (
'border' => true ,
2010-06-05 20:12:05 +00:00
'vpadding' => 'auto' ,
'hpadding' => 'auto' ,
2009-09-30 09:18:36 +00:00
'fgcolor' => array ( 0 , 0 , 0 ),
'bgcolor' => false , //array(255,255,255)
2010-06-05 20:12:05 +00:00
'module_width' => 1 , // width of a single module in points
'module_height' => 1 // height of a single module in points
2009-09-30 09:18:36 +00:00
);
2009-04-10 15:57:36 +00:00
2010-05-05 09:56:22 +00:00
// write RAW 2D Barcode
2011-09-13 15:52:00 +00:00
2010-05-05 09:56:22 +00:00
$code = '111011101110111,010010001000010,010011001110010,010010000010010,010011101110010' ;
2011-09-13 15:52:00 +00:00
$pdf -> write2DBarcode ( $code , 'RAW' , 80 , 30 , 30 , 20 , $style , 'N' );
2009-09-30 09:18:36 +00:00
2010-05-05 09:56:22 +00:00
// write RAW2 2D Barcode
$code = '[111011101110111][010010001000010][010011001110010][010010000010010][010011101110010]' ;
2011-09-13 15:52:00 +00:00
$pdf -> write2DBarcode ( $code , 'RAW2' , 80 , 60 , 30 , 20 , $style , 'N' );
2010-03-27 17:52:11 +00:00
2010-05-05 09:56:22 +00:00
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2010-03-27 17:52:11 +00:00
2010-05-05 09:56:22 +00:00
// set style for barcode
2010-03-27 17:52:11 +00:00
$style = array (
2010-05-05 09:56:22 +00:00
'border' => 2 ,
2010-06-05 20:12:05 +00:00
'vpadding' => 'auto' ,
'hpadding' => 'auto' ,
2010-03-27 17:52:11 +00:00
'fgcolor' => array ( 0 , 0 , 0 ),
'bgcolor' => false , //array(255,255,255)
2010-06-05 20:12:05 +00:00
'module_width' => 1 , // width of a single module in points
'module_height' => 1 // height of a single module in points
2010-03-27 17:52:11 +00:00
);
// QRCODE,L : QR-CODE Low error correction
2011-09-13 15:52:00 +00:00
$pdf -> write2DBarcode ( 'www.tcpdf.org' , 'QRCODE,L' , 20 , 30 , 50 , 50 , $style , 'N' );
$pdf -> Text ( 20 , 25 , 'QRCODE L' );
2010-03-27 17:52:11 +00:00
// QRCODE,M : QR-CODE Medium error correction
2011-09-13 15:52:00 +00:00
$pdf -> write2DBarcode ( 'www.tcpdf.org' , 'QRCODE,M' , 20 , 90 , 50 , 50 , $style , 'N' );
$pdf -> Text ( 20 , 85 , 'QRCODE M' );
2010-03-27 17:52:11 +00:00
// QRCODE,Q : QR-CODE Better error correction
2011-09-13 15:52:00 +00:00
$pdf -> write2DBarcode ( 'www.tcpdf.org' , 'QRCODE,Q' , 20 , 150 , 50 , 50 , $style , 'N' );
$pdf -> Text ( 20 , 145 , 'QRCODE Q' );
2010-03-27 17:52:11 +00:00
2010-05-05 09:56:22 +00:00
// QRCODE,H : QR-CODE Best error correction
2011-09-13 15:52:00 +00:00
$pdf -> write2DBarcode ( 'www.tcpdf.org' , 'QRCODE,H' , 20 , 210 , 50 , 50 , $style , 'N' );
$pdf -> Text ( 20 , 205 , 'QRCODE H' );
2010-05-05 09:56:22 +00:00
2010-06-06 11:13:41 +00:00
// -------------------------------------------------------------------
// PDF417 (ISO/IEC 15438:2006)
/*
2011-09-13 15:52:00 +00:00
The $type parameter can be simple 'PDF417' or 'PDF417' followed by a
2010-06-06 11:13:41 +00:00
number of comma - separated options :
2011-09-13 15:52:00 +00:00
2010-06-06 11:13:41 +00:00
'PDF417,a,e,t,s,f,o0,o1,o2,o3,o4,o5,o6'
2011-09-13 15:52:00 +00:00
2010-06-06 11:13:41 +00:00
Possible options are :
2011-09-13 15:52:00 +00:00
2010-06-06 11:13:41 +00:00
a = aspect ratio ( width / height );
e = error correction level ( 0 - 8 );
2011-09-13 15:52:00 +00:00
2010-06-06 11:13:41 +00:00
Macro Control Block options :
2011-09-13 15:52:00 +00:00
2010-06-06 11:13:41 +00:00
t = total number of macro segments ;
s = macro segment index ( 0 - 99998 );
f = file ID ;
o0 = File Name ( text );
o1 = Segment Count ( numeric );
o2 = Time Stamp ( numeric );
o3 = Sender ( text );
o4 = Addressee ( text );
o5 = File Size ( numeric );
o6 = Checksum ( numeric ) .
2011-09-13 15:52:00 +00:00
2010-06-06 11:13:41 +00:00
Parameters t , s and f are required for a Macro Control Block , all other parametrs are optional .
To use a comma character ',' on text options , replace it with the character 255 : " \xff " .
*/
2011-09-13 15:52:00 +00:00
$pdf -> write2DBarcode ( 'www.tcpdf.org' , 'PDF417' , 80 , 90 , 0 , 30 , $style , 'N' );
$pdf -> Text ( 80 , 85 , 'PDF417 (ISO/IEC 15438:2006)' );
// -------------------------------------------------------------------
// DATAMATRIX (ISO/IEC 16022:2006)
$pdf -> write2DBarcode ( 'http://www.tcpdf.org' , 'DATAMATRIX' , 80 , 150 , 50 , 50 , $style , 'N' );
$pdf -> Text ( 80 , 145 , 'DATAMATRIX (ISO/IEC 16022:2006)' );
2010-06-05 20:12:05 +00:00
2010-06-06 11:13:41 +00:00
// -------------------------------------------------------------------
2011-09-13 15:52:00 +00:00
2010-05-05 09:56:22 +00:00
// new style
$style = array (
'border' => 2 ,
'padding' => 'auto' ,
'fgcolor' => array ( 0 , 0 , 255 ),
'bgcolor' => array ( 255 , 255 , 64 )
);
2010-03-27 17:52:11 +00:00
// QRCODE,H : QR-CODE Best error correction
2011-09-13 15:52:00 +00:00
$pdf -> write2DBarcode ( 'www.tcpdf.org' , 'QRCODE,H' , 80 , 210 , 50 , 50 , $style , 'N' );
$pdf -> Text ( 80 , 205 , 'QRCODE H - COLORED' );
2010-03-27 17:52:11 +00:00
2010-05-05 09:56:22 +00:00
// new style
$style = array (
'border' => false ,
'padding' => 0 ,
'fgcolor' => array ( 128 , 0 , 0 ),
'bgcolor' => false
);
// QRCODE,H : QR-CODE Best error correction
2011-09-13 15:52:00 +00:00
$pdf -> write2DBarcode ( 'www.tcpdf.org' , 'QRCODE,H' , 140 , 210 , 50 , 50 , $style , 'N' );
$pdf -> Text ( 140 , 205 , 'QRCODE H - NO PADDING' );
2010-03-27 17:52:11 +00:00
2009-09-30 09:18:36 +00:00
// ---------------------------------------------------------
//Close and output PDF document
$pdf -> Output ( 'example_050.pdf' , 'I' );
2009-04-10 15:57:36 +00:00
2009-09-30 09:18:36 +00:00
//============================================================+
2010-03-27 17:52:11 +00:00
// END OF FILE
2009-09-30 09:18:36 +00:00
//============================================================+