显示code39条形码的PHP类

原创 2004年10月28日 11:14:00
<?
/***********************************************************************
                       Written by caocao
                       caocao@eastday.com
                       http://nethermit.yeah.net
                       
                       显示code39条形码的类
                       使用方法:
                       $convert=new code39;
                       $str=$convert->decode($str);
***********************************************************************/

class pattenclass
{
    var
$color;
    var
$width;
    function
pattenclass($color,$width)
    {
        
$this->color=$color;
        
$this->width=$width;
    }
}

class
code39
{
    var
$zoom;
    var
$height;
    var
$patten=array();
    function
code39($zoom, $height)
    {
        
$zoom=intval($zoom);
        
$this->zoom=$zoom<1||$zoom>20?3:$zoom;
        
$height=intval($height);
        
$this->height=$height<1||$height>80?30:$height;
        
$this->patten[]=new pattenclass("#FFFFFF",1*$this->zoom);
        
$this->patten[]=new pattenclass("#FFFFFF",3*$this->zoom);
        
$this->patten[]=new pattenclass("#000000",1*$this->zoom);
        
$this->patten[]=new pattenclass("#000000",3*$this->zoom);
    }
    function
makecode($code)//code39解码
    
{
        switch (
$code)
        {
            case
"0":return ("202130302");
            case
"1":return ("302120203");
            case
"2":return ("203120203");
            case
"3":return ("303120202");
            case
"4":return ("202130203");
            case
"5":return ("302130202");
            case
"6":return ("203130202");
            case
"7":return ("202120303");
            case
"8":return ("302120302");
            case
"9":return ("203120302");
            case
"A":return ("302021203");
            case
"B":return ("203021203");
            case
"C":return ("303021202");
            case
"D":return ("202031203");
            case
"E":return ("302031202");
            case
"F":return ("203031202");
            case
"G":return ("202021303");
            case
"H":return ("302021302");
            case
"I":return ("203021300");
            case
"J":return ("202031302");
            case
"K":return ("302020213");
            case
"L":return ("203020213");
            case
"M":return ("303020212");
            case
"N":return ("202030213");
            case
"O":return ("302030212");
            case
"P":return ("203030212");
            case
"Q":return ("202020313");
            case
"R":return ("302020312");
            case
"S":return ("203020312");
            case
"T":return ("202030312");
            case
"U":return ("312020203");
            case
"V":return ("213020203");
            case
"W":return ("313020202");
            case
"X":return ("212030203");
            case
"Y":return ("312030202");
            case
"Z":return ("213030202");
            case
"-":return ("212020303");
            case
".":return ("312020302");
            case
" ":return ("213020302");
            case
"*":return ("212030302");
            case
"$":return ("212121202");
            case
"/":return ("212120212");
            case
"+":return ("212021212");
            case
"%":return ("202121212");
        }
        return (
"212030302");
    }
    function
display($code)//输出单个字符
    
{
        
$output="";
        for (
$i=0;$i<9;$i++)
            
$output.="<td height=".$this->height." bgcolor=".$this->patten[$code[$i]]->color." width=".$this->patten[$code[$i]]->width."></td>";
        return
$output;
    }
    function
decode($code)//全部输出
    
{
        
$output="<table width=".($this->height/2*(strlen($code)+2)*$this->zoom)." height=".$this->height." border=0 cellspacing=0 cellpadding=0 align=/"center/"><tr>";
        
$output.=$this->display($this->makecode("*"));
        
$output.="<td height=".$this->height." bgcolor=".$this->patten[0]->color." width=".$this->patten[0]->width."></td>";
        
$length=strlen($code);
        for (
$i=0;$i<$length;$i++)
        {
            
$output.=$this->display($this->makecode($code[$i]));
            
$output.="<td height=".$this->height." bgcolor=".$this->patten[0]->color." width=".$this->patten[0]->width."></td>";
        }
        
$output.=$this->display($this->makecode("*"));
        
$output.="</tr></table>";
        return
$output;
    }
}
?>

php生成各種標準的一維條碼(如CODE-39;CODE-128;ENA-13)

  • 2013年08月29日 17:39
  • 236KB
  • 下载

PHP生成条形码方法

1、首先找到强大的开源资料,在barcode官网下载barcodegen.1d-php5.v5.2.1.zip版本,然后解压文件放到你的Apache服务器的根目录下 文件结构如下: ...
  • u013372487
  • u013372487
  • 2015年07月22日 17:08
  • 2959

显示code39条形码的类

/***********************************************************************                       Writt...
  • abaowu
  • abaowu
  • 2004年11月01日 13:45
  • 1487

asp.net(C#)生成Code39条形码 条码枪可以扫描出

using System; using System.Collections; using System.ComponentModel; using System.Drawing; using...
  • smartsmile2012
  • smartsmile2012
  • 2012年11月23日 14:49
  • 3986

Code39条形码编程简单实现(C#)

这种方法是有BUG的~! 还有打印功能同保存功能还没有成功~!请高手帮一帮呀~!先在窗口上放上两个“textBox”一个"LISTBOX",一个"button"一个“pictrueBOX”。公共变量:...
  • xboywei
  • xboywei
  • 2005年08月11日 10:01
  • 2388

生成条码Code39

//辅助类 using System; using System.Collections; using System.ComponentModel; using System.Dr...
  • u013214705
  • u013214705
  • 2014年01月18日 11:01
  • 908

条码编码方式-----Code 39与code 128条形码的区别

CODE 39码的编码规则是: 1、 每五条线表示一个字符; 2、 粗线表示1,细线表示0; 3、 线条间的间隙宽的表示1,窄的表示0; 4、 五条线加上它们之间的四条...
  • a1192529545
  • a1192529545
  • 2014年07月28日 00:26
  • 4602

条码规范——Code 39

CODE 39 BACKGROUND INFORMATION Code 39, the first alpha-numeric symbology to be developed, is still...
  • kzhuangood
  • kzhuangood
  • 2017年06月09日 08:50
  • 370

C#生成Code39条形码而非条形码字体的方法

C#生成Code39条形码而非条形码字体的方法 由于Code39编译简单、能够对任意长度的数据进行编码、支持设备比较广泛所以被广泛的采用,下面介绍下C#生成Code39条形码而非条形...
  • qq_28270231
  • qq_28270231
  • 2015年10月13日 12:54
  • 1919

【Qt】条形码制作器(Code39编码)

环境:Qt5.3 MSVC2010 编译器:Qt Creator 描述:         最近公司项目卡在了POS机打印小票上,因为涉及打印机太多,很多打印机对ESC/POS指令集支持又不是特别好...
  • shihoongbo
  • shihoongbo
  • 2015年10月22日 10:47
  • 2390
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:显示code39条形码的PHP类
举报原因:
原因补充:

(最多只允许输入30个字)