32
1
mirror of https://github.com/vdm-io/tcpdf.git synced 2024-11-14 09:04:06 +00:00
tcpdf/doc/com-tecnick-tcpdf/_qrcode.php.html
nicolaasuni 099d8ef362 5.8.027
2010-09-13 12:08:31 +02:00

491 lines
21 KiB
HTML

<html>
<head>
<title>Docs for page qrcode.php</title>
<link rel="stylesheet" type="text/css" href="../media/style.css">
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0" height="48" width="100%">
<tr>
<td class="header_top">com-tecnick-tcpdf</td>
</tr>
<tr><td class="header_line"><img src="../media/empty.png" width="1" height="1" border="0" alt="" /></td></tr>
<tr>
<td class="header_menu">
[ <a href="../classtrees_com-tecnick-tcpdf.html" class="menu">class tree: com-tecnick-tcpdf</a> ]
[ <a href="../elementindex_com-tecnick-tcpdf.html" class="menu">index: com-tecnick-tcpdf</a> ]
[ <a href="../elementindex.html" class="menu">all elements</a> ]
</td>
</tr>
<tr><td class="header_line"><img src="../media/empty.png" width="1" height="1" border="0" alt="" /></td></tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="200" class="menu">
<b>Packages:</b><br />
<a href="../li_com-tecnick-tcpdf.html">com-tecnick-tcpdf</a><br />
<br /><br />
<b>Files:</b><br />
<div class="package">
<a href="../com-tecnick-tcpdf/_2dbarcodes.php.html"> 2dbarcodes.php
</a><br>
<a href="../com-tecnick-tcpdf/_barcodes.php.html"> barcodes.php
</a><br>
<a href="../com-tecnick-tcpdf/_htmlcolors.php.html"> htmlcolors.php
</a><br>
<a href="../com-tecnick-tcpdf/_pdf417.php.html"> pdf417.php
</a><br>
<a href="../com-tecnick-tcpdf/_qrcode.php.html"> qrcode.php
</a><br>
<a href="../com-tecnick-tcpdf/_tcpdf.php.html"> tcpdf.php
</a><br>
<a href="../com-tecnick-tcpdf/_config---tcpdf_config.php.html"> tcpdf_config.php
</a><br>
<a href="../com-tecnick-tcpdf/_unicode_data.php.html"> unicode_data.php
</a><br>
</div><br />
<b>Classes:</b><br />
<div class="package">
<a href="../com-tecnick-tcpdf/PDF417.html">PDF417</a><br />
<a href="../com-tecnick-tcpdf/QRcode.html">QRcode</a><br />
<a href="../com-tecnick-tcpdf/TCPDF.html">TCPDF</a><br />
<a href="../com-tecnick-tcpdf/TCPDF2DBarcode.html">TCPDF2DBarcode</a><br />
<a href="../com-tecnick-tcpdf/TCPDFBarcode.html">TCPDFBarcode</a><br />
</div>
</td>
<td>
<table cellpadding="10" cellspacing="0" width="100%" border="0"><tr><td valign="top">
<h1>Procedural File: qrcode.php</h1>
Source Location: /qrcode.php<br /><br />
<br>
<br>
<div class="contents">
<h2>Classes:</h2>
<dt><a href="../com-tecnick-tcpdf/QRcode.html">QRcode</a></dt>
<dd>Class to create QR-code arrays for TCPDF class.</dd>
</div><br /><br />
<h2>Page Details:</h2>
Class to create QR-code arrays for TCPDF class.<br /><br /><p>QR Code symbol is a 2D barcode that can be scanned by handy terminals such as a mobile phone with CCD. The capacity of QR Code is up to 7000 digits or 4000 characters, and has high robustness. This class supports QR Code model 2, described in JIS (Japanese Industrial Standards) X0510:2004 or ISO/IEC 18004. Currently the following features are not supported: ECI and FNC1 mode, Micro QR Code, QR Code model 1, Structured mode.</p><p>This class is derived from &quot;PHP QR Code encoder&quot; by Dominik Dzienia (http://phpqrcode.sourceforge.net/) based on &quot;libqrencode C library 3.1.1.&quot; by Kentaro Fukuchi (http://megaui.net/fukuchi/works/qrencode/index.en.html), contains Reed-Solomon code written by Phil Karn, KA9Q. QR Code is registered trademark of DENSO WAVE INCORPORATED (http://www.denso-wave.com/qrcode/index-e.html). Please read comments on this class source file for full copyright and license information.</p><br /><br /><br />
<h4>Tags:</h4>
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><b>author:</b>&nbsp;&nbsp;</td><td>Nicola Asuni</td>
</tr>
<tr>
<td><b>version:</b>&nbsp;&nbsp;</td><td>1.0.006</td>
</tr>
<tr>
<td><b>copyright:</b>&nbsp;&nbsp;</td><td>2010-2010 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com</td>
</tr>
<tr>
<td><b>link:</b>&nbsp;&nbsp;</td><td><a href="http://www.tcpdf.org">http://www.tcpdf.org</a></td>
</tr>
<tr>
<td><b>abstract:</b>&nbsp;&nbsp;</td><td>Class for generating QR-code array for TCPDF.</td>
</tr>
<tr>
<td><b>license:</b>&nbsp;&nbsp;</td><td><a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a></td>
</tr>
</table>
</div>
<br /><br />
<br /><br />
<br /><br />
<hr />
<a name="defineMAX_STRUCTURED_SYMBOLS"></a>
<h3>MAX_STRUCTURED_SYMBOLS <span class="smalllinenumber">[line 204]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>MAX_STRUCTURED_SYMBOLS = 16</code>
</td></tr></table>
</td></tr></table>
Max number of symbols for structured mode<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineN1"></a>
<h3>N1 <span class="smalllinenumber">[line 213]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>N1 = 3</code>
</td></tr></table>
</td></tr></table>
Down point base value for case 1 mask pattern (concatenation of same color in a line or a column)<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineN2"></a>
<h3>N2 <span class="smalllinenumber">[line 218]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>N2 = 3</code>
</td></tr></table>
</td></tr></table>
Down point base value for case 2 mask pattern (module block of same color)<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineN3"></a>
<h3>N3 <span class="smalllinenumber">[line 223]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>N3 = 40</code>
</td></tr></table>
</td></tr></table>
Down point base value for case 3 mask pattern (1:1:3:1:1(dark:bright:dark:bright:dark)pattern in a line or a column)<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineN4"></a>
<h3>N4 <span class="smalllinenumber">[line 228]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>N4 = 10</code>
</td></tr></table>
</td></tr></table>
Down point base value for case 4 mask pattern (ration of dark modules in whole)<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQRCAP_EC"></a>
<h3>QRCAP_EC <span class="smalllinenumber">[line 190]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QRCAP_EC = 3</code>
</td></tr></table>
</td></tr></table>
Matrix index to get error correction level from $capacity array.<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQRCAP_REMINDER"></a>
<h3>QRCAP_REMINDER <span class="smalllinenumber">[line 185]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QRCAP_REMINDER = 2</code>
</td></tr></table>
</td></tr></table>
Matrix index to get remainder from $capacity array.<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQRCAP_WIDTH"></a>
<h3>QRCAP_WIDTH <span class="smalllinenumber">[line 175]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QRCAP_WIDTH = 0</code>
</td></tr></table>
</td></tr></table>
Matrix index to get width from $capacity array.<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQRCAP_WORDS"></a>
<h3>QRCAP_WORDS <span class="smalllinenumber">[line 180]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QRCAP_WORDS = 1</code>
</td></tr></table>
</td></tr></table>
Matrix index to get number of words from $capacity array.<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQRCODEDEFS"></a>
<h3>QRCODEDEFS <span class="smalllinenumber">[line 91]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QRCODEDEFS = true</code>
</td></tr></table>
</td></tr></table>
Indicate that definitions for this class are set<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQRSPEC_VERSION_MAX"></a>
<h3>QRSPEC_VERSION_MAX <span class="smalllinenumber">[line 163]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QRSPEC_VERSION_MAX = 40</code>
</td></tr></table>
</td></tr></table>
Maximum QR Code version.<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQRSPEC_WIDTH_MAX"></a>
<h3>QRSPEC_WIDTH_MAX <span class="smalllinenumber">[line 168]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QRSPEC_WIDTH_MAX = 177</code>
</td></tr></table>
</td></tr></table>
Maximum matrix size for maximum version (version 40 is 177*177 matrix).<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQR_DEFAULT_MASK"></a>
<h3>QR_DEFAULT_MASK <span class="smalllinenumber">[line 247]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QR_DEFAULT_MASK = 2</code>
</td></tr></table>
</td></tr></table>
when QR_FIND_BEST_MASK === false<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQR_ECLEVEL_H"></a>
<h3>QR_ECLEVEL_H <span class="smalllinenumber">[line 151]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QR_ECLEVEL_H = 3</code>
</td></tr></table>
</td></tr></table>
Error correction level H : About 30% or less errors can be corrected.<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQR_ECLEVEL_L"></a>
<h3>QR_ECLEVEL_L <span class="smalllinenumber">[line 136]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QR_ECLEVEL_L = 0</code>
</td></tr></table>
</td></tr></table>
Error correction level L : About 7% or less errors can be corrected.<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQR_ECLEVEL_M"></a>
<h3>QR_ECLEVEL_M <span class="smalllinenumber">[line 141]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QR_ECLEVEL_M = 1</code>
</td></tr></table>
</td></tr></table>
Error correction level M : About 15% or less errors can be corrected.<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQR_ECLEVEL_Q"></a>
<h3>QR_ECLEVEL_Q <span class="smalllinenumber">[line 146]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QR_ECLEVEL_Q = 2</code>
</td></tr></table>
</td></tr></table>
Error correction level Q : About 25% or less errors can be corrected.<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQR_FIND_BEST_MASK"></a>
<h3>QR_FIND_BEST_MASK <span class="smalllinenumber">[line 237]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QR_FIND_BEST_MASK = true</code>
</td></tr></table>
</td></tr></table>
if true, estimates best mask (spec. default, but extremally slow; set to false to significant performance boost but (propably) worst quality code<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQR_FIND_FROM_RANDOM"></a>
<h3>QR_FIND_FROM_RANDOM <span class="smalllinenumber">[line 242]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QR_FIND_FROM_RANDOM = 2</code>
</td></tr></table>
</td></tr></table>
if false, checks all masks available, otherwise value tells count of masks need to be checked, mask id are got randomly<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQR_MODE_8B"></a>
<h3>QR_MODE_8B <span class="smalllinenumber">[line 115]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QR_MODE_8B = 2</code>
</td></tr></table>
</td></tr></table>
Encoding mode 8bit byte data. In theory, 2953 characters or less can be stored in a QRcode.<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQR_MODE_AN"></a>
<h3>QR_MODE_AN <span class="smalllinenumber">[line 110]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QR_MODE_AN = 1</code>
</td></tr></table>
</td></tr></table>
Encoding mode alphanumeric (0-9A-Z $%*+-./:) 45characters. 2 characters are encoded to 11bit length. In theory, 4296 characters or less can be stored in a QRcode.<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQR_MODE_KJ"></a>
<h3>QR_MODE_KJ <span class="smalllinenumber">[line 120]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QR_MODE_KJ = 3</code>
</td></tr></table>
</td></tr></table>
Encoding mode KANJI. A KANJI character (multibyte character) is encoded to 13bit length. In theory, 1817 characters or less can be stored in a QRcode.<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQR_MODE_NL"></a>
<h3>QR_MODE_NL <span class="smalllinenumber">[line 100]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QR_MODE_NL = -1</code>
</td></tr></table>
</td></tr></table>
Encoding mode<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQR_MODE_NM"></a>
<h3>QR_MODE_NM <span class="smalllinenumber">[line 105]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QR_MODE_NM = 0</code>
</td></tr></table>
</td></tr></table>
Encoding mode numeric (0-9). 3 characters are encoded to 10bit length. In theory, 7089 characters or less can be stored in a QRcode.<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineQR_MODE_ST"></a>
<h3>QR_MODE_ST <span class="smalllinenumber">[line 125]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>QR_MODE_ST = 4</code>
</td></tr></table>
</td></tr></table>
Encoding mode STRUCTURED (currently unsupported)<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<hr />
<a name="defineSTRUCTURE_HEADER_BITS"></a>
<h3>STRUCTURE_HEADER_BITS <span class="smalllinenumber">[line 199]</span></h3>
<div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>STRUCTURE_HEADER_BITS = 20</code>
</td></tr></table>
</td></tr></table>
Number of header bits for structured mode<br /><br /> <br />
</div>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
<br />
<hr />
<a name="functionstr_split"></a>
<h3>str_split <span class="smalllinenumber">[line 265]</span></h3>
<div class="function">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>If str_split(
string $string, [int $split_length = 1])</code>
</td></tr></table>
</td></tr></table><br />
Convert a string to an array (needed for PHP4 compatibility)<br /><br /><br /><br />
<h4>Tags:</h4>
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><b>return:</b>&nbsp;&nbsp;</td><td>the optional split_length parameter is specified, the returned array will be broken down into chunks with each being split_length in length, otherwise each chunk will be one character in length. FALSE is returned if split_length is less than 1. If the split_length length exceeds the length of string , the entire string is returned as the first (and only) array element.</td>
</tr>
</table>
</div>
<br /><br />
<h4>Parameters</h4>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="type">string&nbsp;&nbsp;</td>
<td><b>$string</b>&nbsp;&nbsp;</td>
<td>The input string.</td>
</tr>
<tr>
<td class="type">int&nbsp;&nbsp;</td>
<td><b>$split_length</b>&nbsp;&nbsp;</td>
<td>Maximum length of the chunk.</td>
</tr>
</table>
<div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
</div>
<div class="credit">
<hr />
Documentation generated on Mon, 13 Sep 2010 12:08:23 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div>
</td></tr></table>
</td>
</tr>
</table>
</body>
</html>