/var/www/hkosl.com/e-ims/file_manager/Classes/PHPExcel/Shared/PDF/2dbarcodes.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<?php
//============================================================+
// File name   : 2dbarcodes.php
// Begin       : 2009-04-07
// Last Update : 2009-08-17
// Version     : 1.0.000
// License     : GNU LGPL (http://www.gnu.org/copyleft/lesser.html)
//     ----------------------------------------------------------------------------
//  Copyright (C) 2008-2009 Nicola Asuni - Tecnick.com S.r.l.
//     
//     This program is free software: you can redistribute it and/or modify
//     it under the terms of the GNU Lesser General Public License as published by
//     the Free Software Foundation, either version 2.1 of the License, or
//     (at your option) any later version.
//     
//     This program is distributed in the hope that it will be useful,
//     but WITHOUT ANY WARRANTY; without even the implied warranty of
//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//     GNU Lesser General Public License for more details.
//     
//     You should have received a copy of the GNU Lesser General Public License
//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
//     
//     See LICENSE.TXT file for more information.
//  ----------------------------------------------------------------------------
//
// Description : PHP class to creates array representations for 
//               2D barcodes to be used with TCPDF.
//
// Author: Nicola Asuni
//
// (c) Copyright:
//               Nicola Asuni
//               Tecnick.com S.r.l.
//               Via della Pace, 11
//               09044 Quartucciu (CA)
//               ITALY
//               www.tecnick.com
//               info@tecnick.com
//============================================================+

/**
 * PHP class to creates array representations for 2D barcodes to be used with TCPDF.
 * @package com.tecnick.tcpdf
 * @abstract Functions for generating string representation of 2D barcodes.
 * @author Nicola Asuni
 * @copyright 2008-2009 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
 * @link http://www.tcpdf.org
 * @license http://www.gnu.org/copyleft/lesser.html LGPL
 * @version 1.0.000
 */

    /**
    * PHP class to creates array representations for 2D barcodes to be used with TCPDF (http://www.tcpdf.org).<br>
    * @name TCPDFBarcode
    * @package com.tecnick.tcpdf
    * @version 1.0.000
    * @author Nicola Asuni
    * @link http://www.tcpdf.org
    * @license http://www.gnu.org/copyleft/lesser.html LGPL
    */
class TCPDF2DBarcode {
    
    
/**
     * @var array representation of barcode.
     * @access protected
     */
    
protected $barcode_array;
    
    
/**
     * This is the class constructor. 
     * Return an array representations for 2D barcodes:<ul>
     * <li>$arrcode['code'] code to be printed on text label</li>
     * <li>$arrcode['num_rows'] required number of rows</li>
     * <li>$arrcode['num_cols'] required number of columns</li>
     * <li>$arrcode['bcode'][$r][$c] value of the cell is $r row and $c column (0 = transparent, 1 = black)</li></ul>
     * @param string $code code to print
      * @param string $type type of barcode: <ul><li>TEST</li><li>...TO BE IMPLEMENTED</li></ul>
     */
    
public function __construct($code$type) {
        
$this->setBarcode($code$type);
    }
    
    
/** 
     * Return an array representations of barcode.
      * @return array
     */
    
public function getBarcodeArray() {
        return 
$this->barcode_array;
    }
    
    
/** 
     * Set the barcode.
     * @param string $code code to print
      * @param string $type type of barcode: <ul><li>TEST</li><li>...TO BE IMPLEMENTED</li></ul>
      * @return array
     */
    
public function setBarcode($code$type) {
        
$mode explode(','$type);
        switch (
strtoupper($mode[0])) {
            case 
'TEST': { // TEST MODE
                
$this->barcode_array['num_rows'] = 5;
                
$this->barcode_array['num_cols'] = 15;
                
$this->barcode_array['bcode'] = array(
                    array(
1,1,1,0,1,1,1,0,1,1,1,0,1,1,1),
                    array(
0,1,0,0,1,0,0,0,1,0,0,0,0,1,0),
                    array(
0,1,0,0,1,1,0,0,1,1,1,0,0,1,0),
                    array(
0,1,0,0,1,0,0,0,0,0,1,0,0,1,0),
                    array(
0,1,0,0,1,1,1,0,1,1,1,0,0,1,0)
                );
                break;
            }
            
            
// ... Add here real 2D barcodes ...
            
            
default: {
                
$this->barcode_array false;
            }
        }
    }
// end of class

//============================================================+
// END OF FILE                                                 
//============================================================+
?>