[347] | 1 | <?php
|
---|
| 2 | //============================================================+
|
---|
| 3 | // File name : example_050.php
|
---|
| 4 | // Begin : 2009-04-09
|
---|
| 5 | // Last Update : 2013-05-14
|
---|
| 6 | //
|
---|
| 7 | // Description : Example 050 for TCPDF class
|
---|
| 8 | // 2D Barcodes
|
---|
| 9 | //
|
---|
| 10 | // Author: Nicola Asuni
|
---|
| 11 | //
|
---|
| 12 | // (c) Copyright:
|
---|
| 13 | // Nicola Asuni
|
---|
| 14 | // Tecnick.com LTD
|
---|
| 15 | // www.tecnick.com
|
---|
| 16 | // info@tecnick.com
|
---|
| 17 | //============================================================+
|
---|
| 18 |
|
---|
| 19 | /**
|
---|
| 20 | * Creates an example PDF TEST document using TCPDF
|
---|
| 21 | * @package com.tecnick.tcpdf
|
---|
| 22 | * @abstract TCPDF - Example: 2D barcodes.
|
---|
| 23 | * @author Nicola Asuni
|
---|
| 24 | * @since 2008-03-04
|
---|
| 25 | */
|
---|
| 26 |
|
---|
| 27 | // Include the main TCPDF library (search for installation path).
|
---|
| 28 | require_once('tcpdf_include.php');
|
---|
| 29 |
|
---|
| 30 | // create new PDF document
|
---|
| 31 | $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
|
---|
| 32 |
|
---|
| 33 | // set document information
|
---|
| 34 | $pdf->SetCreator(PDF_CREATOR);
|
---|
| 35 | $pdf->SetAuthor('Nicola Asuni');
|
---|
| 36 | $pdf->SetTitle('TCPDF Example 050');
|
---|
| 37 | $pdf->SetSubject('TCPDF Tutorial');
|
---|
| 38 | $pdf->SetKeywords('TCPDF, PDF, example, test, guide');
|
---|
| 39 |
|
---|
| 40 | // set default header data
|
---|
| 41 | $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 050', PDF_HEADER_STRING);
|
---|
| 42 |
|
---|
| 43 | // set header and footer fonts
|
---|
| 44 | $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
|
---|
| 45 | $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
|
---|
| 46 |
|
---|
| 47 | // set default monospaced font
|
---|
| 48 | $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
|
---|
| 49 |
|
---|
| 50 | // set margins
|
---|
| 51 | $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
|
---|
| 52 | $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
|
---|
| 53 | $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
|
---|
| 54 |
|
---|
| 55 | // set auto page breaks
|
---|
| 56 | $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
|
---|
| 57 |
|
---|
| 58 | // set image scale factor
|
---|
| 59 | $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
|
---|
| 60 |
|
---|
| 61 | // set some language-dependent strings (optional)
|
---|
| 62 | if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
|
---|
| 63 | require_once(dirname(__FILE__).'/lang/eng.php');
|
---|
| 64 | $pdf->setLanguageArray($l);
|
---|
| 65 | }
|
---|
| 66 |
|
---|
| 67 | // ---------------------------------------------------------
|
---|
| 68 |
|
---|
| 69 | // NOTE: 2D barcode algorithms must be implemented on 2dbarcode.php class file.
|
---|
| 70 |
|
---|
| 71 | // set font
|
---|
| 72 | $pdf->SetFont('helvetica', '', 11);
|
---|
| 73 |
|
---|
| 74 | // add a page
|
---|
| 75 | $pdf->AddPage();
|
---|
| 76 |
|
---|
| 77 | // print a message
|
---|
| 78 | $txt = "You can also export 2D barcodes in other formats (PNG, SVG, HTML). Check the examples inside the barcode directory.\n";
|
---|
| 79 | $pdf->MultiCell(70, 50, $txt, 0, 'J', false, 1, 125, 30, true, 0, false, true, 0, 'T', false);
|
---|
| 80 |
|
---|
| 81 |
|
---|
| 82 | $pdf->SetFont('helvetica', '', 10);
|
---|
| 83 |
|
---|
| 84 | // - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
---|
| 85 |
|
---|
| 86 | // set style for barcode
|
---|
| 87 | $style = array(
|
---|
| 88 | 'border' => true,
|
---|
| 89 | 'vpadding' => 'auto',
|
---|
| 90 | 'hpadding' => 'auto',
|
---|
| 91 | 'fgcolor' => array(0,0,0),
|
---|
| 92 | 'bgcolor' => false, //array(255,255,255)
|
---|
| 93 | 'module_width' => 1, // width of a single module in points
|
---|
| 94 | 'module_height' => 1 // height of a single module in points
|
---|
| 95 | );
|
---|
| 96 |
|
---|
| 97 | // write RAW 2D Barcode
|
---|
| 98 |
|
---|
| 99 | $code = '111011101110111,010010001000010,010011001110010,010010000010010,010011101110010';
|
---|
| 100 | $pdf->write2DBarcode($code, 'RAW', 80, 30, 30, 20, $style, 'N');
|
---|
| 101 |
|
---|
| 102 | // write RAW2 2D Barcode
|
---|
| 103 | $code = '[111011101110111][010010001000010][010011001110010][010010000010010][010011101110010]';
|
---|
| 104 | $pdf->write2DBarcode($code, 'RAW2', 80, 60, 30, 20, $style, 'N');
|
---|
| 105 |
|
---|
| 106 | // - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
---|
| 107 |
|
---|
| 108 | // set style for barcode
|
---|
| 109 | $style = array(
|
---|
| 110 | 'border' => 2,
|
---|
| 111 | 'vpadding' => 'auto',
|
---|
| 112 | 'hpadding' => 'auto',
|
---|
| 113 | 'fgcolor' => array(0,0,0),
|
---|
| 114 | 'bgcolor' => false, //array(255,255,255)
|
---|
| 115 | 'module_width' => 1, // width of a single module in points
|
---|
| 116 | 'module_height' => 1 // height of a single module in points
|
---|
| 117 | );
|
---|
| 118 |
|
---|
| 119 | // QRCODE,L : QR-CODE Low error correction
|
---|
| 120 | $pdf->write2DBarcode('www.tcpdf.org', 'QRCODE,L', 20, 30, 50, 50, $style, 'N');
|
---|
| 121 | $pdf->Text(20, 25, 'QRCODE L');
|
---|
| 122 |
|
---|
| 123 | // QRCODE,M : QR-CODE Medium error correction
|
---|
| 124 | $pdf->write2DBarcode('www.tcpdf.org', 'QRCODE,M', 20, 90, 50, 50, $style, 'N');
|
---|
| 125 | $pdf->Text(20, 85, 'QRCODE M');
|
---|
| 126 |
|
---|
| 127 | // QRCODE,Q : QR-CODE Better error correction
|
---|
| 128 | $pdf->write2DBarcode('www.tcpdf.org', 'QRCODE,Q', 20, 150, 50, 50, $style, 'N');
|
---|
| 129 | $pdf->Text(20, 145, 'QRCODE Q');
|
---|
| 130 |
|
---|
| 131 | // QRCODE,H : QR-CODE Best error correction
|
---|
| 132 | $pdf->write2DBarcode('www.tcpdf.org', 'QRCODE,H', 20, 210, 50, 50, $style, 'N');
|
---|
| 133 | $pdf->Text(20, 205, 'QRCODE H');
|
---|
| 134 |
|
---|
| 135 | // -------------------------------------------------------------------
|
---|
| 136 | // PDF417 (ISO/IEC 15438:2006)
|
---|
| 137 |
|
---|
| 138 | /*
|
---|
| 139 |
|
---|
| 140 | The $type parameter can be simple 'PDF417' or 'PDF417' followed by a
|
---|
| 141 | number of comma-separated options:
|
---|
| 142 |
|
---|
| 143 | 'PDF417,a,e,t,s,f,o0,o1,o2,o3,o4,o5,o6'
|
---|
| 144 |
|
---|
| 145 | Possible options are:
|
---|
| 146 |
|
---|
| 147 | a = aspect ratio (width/height);
|
---|
| 148 | e = error correction level (0-8);
|
---|
| 149 |
|
---|
| 150 | Macro Control Block options:
|
---|
| 151 |
|
---|
| 152 | t = total number of macro segments;
|
---|
| 153 | s = macro segment index (0-99998);
|
---|
| 154 | f = file ID;
|
---|
| 155 | o0 = File Name (text);
|
---|
| 156 | o1 = Segment Count (numeric);
|
---|
| 157 | o2 = Time Stamp (numeric);
|
---|
| 158 | o3 = Sender (text);
|
---|
| 159 | o4 = Addressee (text);
|
---|
| 160 | o5 = File Size (numeric);
|
---|
| 161 | o6 = Checksum (numeric).
|
---|
| 162 |
|
---|
| 163 | Parameters t, s and f are required for a Macro Control Block, all other parametrs are optional.
|
---|
| 164 | To use a comma character ',' on text options, replace it with the character 255: "\xff".
|
---|
| 165 |
|
---|
| 166 | */
|
---|
| 167 |
|
---|
| 168 | $pdf->write2DBarcode('www.tcpdf.org', 'PDF417', 80, 90, 0, 30, $style, 'N');
|
---|
| 169 | $pdf->Text(80, 85, 'PDF417 (ISO/IEC 15438:2006)');
|
---|
| 170 |
|
---|
| 171 | // -------------------------------------------------------------------
|
---|
| 172 | // DATAMATRIX (ISO/IEC 16022:2006)
|
---|
| 173 |
|
---|
| 174 | $pdf->write2DBarcode('http://www.tcpdf.org', 'DATAMATRIX', 80, 150, 50, 50, $style, 'N');
|
---|
| 175 | $pdf->Text(80, 145, 'DATAMATRIX (ISO/IEC 16022:2006)');
|
---|
| 176 |
|
---|
| 177 | // -------------------------------------------------------------------
|
---|
| 178 |
|
---|
| 179 | // new style
|
---|
| 180 | $style = array(
|
---|
| 181 | 'border' => 2,
|
---|
| 182 | 'padding' => 'auto',
|
---|
| 183 | 'fgcolor' => array(0,0,255),
|
---|
| 184 | 'bgcolor' => array(255,255,64)
|
---|
| 185 | );
|
---|
| 186 |
|
---|
| 187 | // QRCODE,H : QR-CODE Best error correction
|
---|
| 188 | $pdf->write2DBarcode('www.tcpdf.org', 'QRCODE,H', 80, 210, 50, 50, $style, 'N');
|
---|
| 189 | $pdf->Text(80, 205, 'QRCODE H - COLORED');
|
---|
| 190 |
|
---|
| 191 | // new style
|
---|
| 192 | $style = array(
|
---|
| 193 | 'border' => false,
|
---|
| 194 | 'padding' => 0,
|
---|
| 195 | 'fgcolor' => array(128,0,0),
|
---|
| 196 | 'bgcolor' => false
|
---|
| 197 | );
|
---|
| 198 |
|
---|
| 199 | // QRCODE,H : QR-CODE Best error correction
|
---|
| 200 | $pdf->write2DBarcode('www.tcpdf.org', 'QRCODE,H', 140, 210, 50, 50, $style, 'N');
|
---|
| 201 | $pdf->Text(140, 205, 'QRCODE H - NO PADDING');
|
---|
| 202 |
|
---|
| 203 | // ---------------------------------------------------------
|
---|
| 204 |
|
---|
| 205 | //Close and output PDF document
|
---|
| 206 | $pdf->Output('example_050.pdf', 'I');
|
---|
| 207 |
|
---|
| 208 | //============================================================+
|
---|
| 209 | // END OF FILE
|
---|
| 210 | //============================================================+
|
---|