jQuery条形码插件 jQuery Barcode

jQuery Barcode 是一个用来建立条形码的 jQuery 插件。java

 

 

首先介绍下条形码的原理先: 条形码技术最先产生在风声鹤唳的二十年代,诞生于Westinghouse的实验室里。一位名叫John Kermode性格古怪的发明家“异想天开”地想对邮政单据实现自动分检,那时候对电子技术应用方面的每个设想都令人感到很是新奇。 他的想法是在信封上作条码标记,条码中的信息是收信人的地址,就象今天的邮政编码。为此Kermode发明了最先的条码标识,设计方案很是的简单 (注:这种方法称为模块比较法),即一个“条”表示数字“1”,二个“条”表示数字“2”,以次类推。而后,他又发明了由基本的元件组成的条码识读设备: 一个扫描器(可以发射光并接收反射光);一个测定反射信号条和空的方法,即边缘定位线圈;和使用测定结果的方法,即译码器。 Kermode的扫描器利用当时新发明的光电池来收集反射光。“空”反射回来的是强信号,“条”反射回来的是弱信号。与当今高速度的电子元气件应 用不一样的是,Kermode利用磁性线圈来测定“条”和“空”。就象一个小孩将电线与电池链接再绕在一颗钉子上来夹纸。Kermode用一个带铁芯的线圈 在接收到“空”的信号的时候吸引一个开关,在接收到“条”的信号的时候,释放开关并接通电路。所以,最先的条码阅读器噪音很大。开关由一系列的继电器控 制,“开”和“关”由打印在信封上“条”的数量决定。经过这种方法,条码符号直接对信件进行分检。 此后不久, Kermode的合做者Douglas Young,在Kermode码的基础上做了些改进。 Kermode码所包含的信息量至关的低,而且很难编出十个以上的不一样代码。而Young码使用更少的条,可是利用条之间空的尺寸变化,就象今天 的UPC条码符号使用四个不一样的条空尺寸。新的条码符号可在一样大小的空间对一百个不一样的地区进行编码,而Kermode码只能对十个不一样的地区进行编 码。 直到1949年的专利文献中才第一次有了Norm Woodland和Bernard Silver发明的全方位条形码符号的记载,在这以前的专利文献中始终没有条形码技术的记录,也没有投入实际应用的先例。Norm Woodland和Bemard Silver的想法是利用Kermode和YOung的垂直的“条”和“空”,并使之弯曲成环状,很是象射箭的靶子。这样扫描器经过扫描图形的中心,可以 对条形码符号解码,无论条形码符号方向的朝向。 在利用这项专利技术对其进行不断改进的过程当中,一位科幻小说做家Isaac-Azimov在他的“裸露的太阳”一书中讲述了使用信息编码的新方法 实现自动识别的事例。那时人们以为此书中的条形码符号看上去象是一个方格子的棋盘,可是今天的条形码专业人士立刻会意识到这是一个二维矩阵条形码符号。虽 然此条形码符号没有方向、定位和定时,但很显然它表示的是高信息密度的数字编码。 直到1970年Iterface Mechanisms公司开发出“二维码”以后,才有了价格适于销售的二维矩阵条码的打印和识读设备。那时二维矩阵条形码用于报社排版过程的自动化。二维 矩阵条形码印在纸带上,由今天的一维CCD扫描器扫描识读。CCD发出的光照在纸带上,每一个光电池对准纸带的不一样区域。每一个光电池根据纸带上印刷条码与否 输出不一样的图案,组合产生一个高密度信息图案。用这种方法可在相同大小的空间打印上一个单一的字符,做为早期Kermode码之中的一个单一的条。定时信 息也包括在内,因此整个过程是合理的。当第一个系统进入市场后,包括打印和识读设备在内的全套设备大约要5000美圆。 此后不久,随着LED(发光二极管)、微处理器和激光二极管的不断发展,迎来了新的标识符号(象征学)和其应用的大爆炸,人们称之为“条码工 业”。今天不多能找到没有直接接触过即快又准的条形码技术的公司或我的。因为在这一领域的技术进步与发展很是迅速,而且天天都有愈来愈多的应用领域被开 发,用不了多久条形码就会象灯泡和半导体收音机同样普及,将会使咱们每个人的生活都变得更加轻松和方便。 条形码技术的优势 条形码是迄今为止最经济、实用的一种自动识别技术。条形码技术具备如下几个方面的优势 A.输入速度快:与键盘输入相比,条形码输入的速度是键盘输入的5倍,而且能实现"即时数据输入"。 B.可靠性高:键盘输入数据出错率为三百分之一,利用光学字符识别技术出错率为万分之一,而采用条形码技术误码率低于百万分之一。 C.采集信息量大:利用传统的一维条形码一次可采集几十位字符的信息,二维条形码更能够携带数千个字符的信息,并有必定的自动纠错能力。 D.灵活实用:条形码标识既能够做为一种识别手段单独使用,也能够和有关识别设备组成一个系统实现自动化识别,还能够和其余控制设备联接起来实现自动化管理。 另外,条形码标签易于制做,对设备和材料没有特殊要求,识别设备操做容易,不须要特殊培训,且设备也相对便宜。 编码规则 惟一性:同种规格同种产品对应同一个产品代码,同种产品不一样规格应对应不一样的产品代码。根据产品的不一样性质,如:重量、包装、规格、气味、颜色、形状等等,赋予不一样的商品代码。 永久性:产品代码一经分配,就再也不更改,而且是终身的。当此种产品再也不生产时,其对应的产品代码只能搁置起来,不得重复起用再分配给其它的商品。 无含义:为了保证代码有足够的容量以适应产品频繁的更新换代的须要,最好采用无含义的顺序码。 条形码的码制区别 UPC:(统一产品代码) 只能表示数字有A、B、C、D、E四个版本 版本 A - 12 位数字 版本 E - 7 位数字 最后一位为校验位 大小是宽1.5" 高1 " ,并且背景要与清晰 主要使用于美国和加拿大地区,用于工业、医药、仓库等部门。当UPC 做为十二位进行解码时,定义以下: 第一位 = 数字标识 (已经由UCC(统一代码委员会)所创建). 第2-6位 = 生产厂家的标识号(包括第一位) 第7-11 = 惟一的厂家产品代码 第12位 = 校验位(used for error detection) Code 3 of 9 : 能表示字母、数字和其它一些符号共43个字符:A -Z,0 - 9,-.$/+%,pace 条形码的长度是可变化的,一般用“*”号做为起始、终止符校验码不用代码密度介于3 - 9.4个字符/每英寸,空白区是窄条的10倍,用于工业、图书、以及票证自动化管理上。 Code 128: 表示高密度数据, 字符串可变长,符号内含校验码,有三种不一样版本: A, B, and C 可用128个字符分别在 A, B, or C 三个字符串集合中,用于工业、仓库、零售批发。 Interleaved 2-of-5 (I2 of 5): 只能表示数字0 -9 可变长度,连续性条形码,全部条与空都表示代码,第一个数字由条开始,第二个数字由空组成 空白区比窄条宽10倍,应用于商品批发、仓库、机场、生产/包装识别、工业中,条形码的识读率高,可适用于固定扫描器可靠扫描,在全部一维条形码中的密度 最高。 Codabar(库德巴条形码): 可表示数字0 - 9,字符$、+、 -、还有只能用做起始/终止符的a, b, c d四个字符,可变长度,没有校验位,应用于物料管理、图书馆、血站和当前的机场包裹发送中,空白区比窄条宽10,非连续性条形码,每一个字符表示为4条3空。 PDF417 (二维码): 多行组成的条形码,不须要链接一个数据库,自己可存储大量数据,应用于:医院、驾驶证、物料管理、货物运输,当条形码受必定破坏时,错误纠正能使 条形码能正确解码PDF417, 是Symbol科技公司于1990研制产品。它是一个多行、连续性、可变长、包含大量数据的符号标识。每一个条形码有3 - 90行,每一行有一个起始部分、数据部分、终止部分。它的字符集包括全部128个字符,最大数据含量是1850个字符。     发现有个不错的网站,使用了JQUERY去产生二维码,地址是: http://barcode-coder.com/en/   另外若是JAVA方面,也能够用生成servlet的方法去生成,用的比较多的是: barbecue和barcode4j,转一段说明: 一、 google或者摆渡一下barcode4j要用的东东,下载压缩包barcode4j-2.0alpha2-bin.zip和barcode4j-2.0alpha2-src.zip。 二、 解压barcode4j-2.0alpha2-bin.zip这个包,在build目录下有barcode4j.jar,在lib目录下有avalon- framework-4.2.0.jar, 将barcode4j.jar和avalon-framework-4.2.0.jar添加到项目的lib中,刷新工程,而后在项目配置中将这两个jar 包添加到classpath里面去。 三、 解压将barcode4j-2.0alpha2-src.zip,将src\java\org\krysalis\barcode4j\servlet 目录下的BarcodeServlet.java类的代码拷出来,修改默认的图片显示方式,BarcodeServlet.java第168行的默认图片 显示格式改为jpeg(由于不是全部的浏览器都支持svg格式,也不是全部的浏览者都愿意给本身的浏览器加一个这样的插件) 四、 将如下这段servlet配置在web.xml中 <servlet> <servlet-name>BarcodeServlet</servlet-name> <servlet-class>com.yourname.BarcodeServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>BarcodeServlet</servlet-name> <url-pattern>/barcode</url-pattern> </servlet-mapping> 四、 在页面中添加<img src="<%=request.getContextPath() %>/barcode?msg=12345678" height="50px" width=130px/> 五、 查看该页面就能够发现条形码为“12345678”的图片了,固然了图片大小就本身设置了。
 
相关文章
相关标签/搜索