`

一个不错的生成条形码的jquery插件兼介绍条形码

阅读更多
首先介绍下条形码的原理先:
条形码技术最早产生在风声鹤唳的二十年代,诞生于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,转一段说明:
1、 google或者摆渡一下barcode4j要用的东东,下载压缩包barcode4j-2.0alpha2-bin.zip和barcode4j-2.0alpha2-src.zip。


2、 解压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里面去。

3、 解压将barcode4j-2.0alpha2-src.zip,将src\java\org\krysalis\barcode4j\servlet 目录下的BarcodeServlet.java类的代码拷出来,修改默认的图片显示方式,BarcodeServlet.java第168行的默认图片显示格式改成jpeg(因为不是所有的浏览器都支持svg格式,也不是所有的浏览者都愿意给自己的浏览器加一个这样的插件)

4、 将以下这段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>

4、 在页面中添加<img src="<%=request.getContextPath() %>/barcode?msg=12345678" height="50px" width=130px/>

5、 查看该页面就可以发现条形码为“12345678”的图片了,当然了图片大小就自己设置了。


2
1
分享到:
评论

相关推荐

    jquery生成条形码

    希望打家下载这个js可以搭配jQuery插件进行条形码的生成

    js条形码.min.rar

    JavaScript条形码生成插件(无需jquery.min.js)即调即用,方便简洁。内含博客地址。

    jquery.barcode 生成条形码

    jquery的一个插件,生成条形码的,需要的话下载吧,已经有demo在里面,可以直接用

    jQuery+HTML5实现条形码插件

    jQuery+HTML5实现在线生成条形码,根据参数可生成各种条形码

    基于HTML5 Canvas的EAN13条形码生成插件

    jQuery.EAN13.js是一款基于HTML5 Canvas的EAN13条形码生成插件。该EAN13条形码插件可以配合jQuery来使用,也可以通过纯JavaScript来进行调用。通过该插件可以非常轻松的在页面上生成EAN13条形码。

    条形码生成插件bwip.js

    插件描述:条形码生成插件bwip.js编码模块,支持超过90种不同的条码类型和标准。可生成所有常用的线性和二维条码。 演示地址:http://www.jq22.com/jquery-info7889

    jQuery Barcode 条形码生成插件

    内容索引:脚本资源,jQuery,条形码,jQuery插件 jQuery Barcode 条形码生成插件,挺实用的条形码生成模块,演示效果如上图所示。

    jQuery基于qrcode.js网页二维码生成插件.zip

    qrcode.js二维码添加图标,

    Jquery创建一维条码二维QRCode条码脚本源码

    自己写的一个能形成一维二维条码的jq,需要内附插件,能够在线打印条码。

    jQuery.EAN13:一个用于生成EAN13条形码的jQuery和普通JavaScript库

    jQuery.EAN13.js是一个轻量级库,可作为普通JavaScript和jQuery插件用于生成EAN-13条码。 用法 ### Include Plugin ###将以下代码插入页面的head : JavaScript &lt; script type =" text/javascript " src =" ...

    code128条码生成工具.zip

    此工具使用jquery的barcode插件实现条形码的生成,压缩包内有js文件,直接解压使用,还附有一个使用案例。

    jQuery+HTML5条形码生成代码.zip

    有兴趣刚需的可以自己下载,非常实用的jquery代码,可以完美运行,有能力的还可以二次修改!

    jquery-barcode-2.0.1.rar

    jquery写的一个条形码生成插件,里面有示例,使用放心,完全免费使用

    jquery 在线二维码生成js

    qrcode.js是一个能够在客户端生成矩阵二维码QRCode 的jquery插件 ,使用它可以很方便的在页面上生成二维条码。

    JsBarcode-barcode4j-2.1.0-jquery-qrcode.zip

    barcode4j-2.1.0-bin---Java条形码生成技术-Barcode4j 插件 jquery-qrcode-----jquery二维码生成插件jquery.qrcode.js插件 JsBarcode--JS条形码(一维码)插件JsBarcode

    jquery.qrcode.js

    插件描述:jquery.qrcode.js 是一个能够在客户端生成矩阵二维码QRCode 的jquery插件 ,使用它可以很方便的在页面上生成二维条码。

    jquery-qrcode

    jquery.qrcode.js 是一个能够在客户端生成矩阵二维码QRCode 的jquery插件 ,使用它可以很方便的在页面上生成二维条码。 此插件是能够独立使用的,体积也比较小。因为它是直接在客户端生成的条码,所以不会有图片下载...

    js生成二维码 中间有logo

    jquery.qrcode.js 是一个能够在客户端生成矩阵二维码QRCode 的jquery插件 ,使用它可以很方便的在页面上生成二维条码。此插件是能够独立使用的,体积也比较小,使用gzip压缩后才不到4kb。因为它是直接在客户端生成的...

    JavaScript实现的微信二维码图片生成器的示例

    jquery.qrcode.js 是一个能够在客户端生成矩阵二维码QRCode 的jquery插件 ,使用它可以很方便的在页面上生成二维条码。 QRCode.js QRCode.js是javascript实现二维码(QRCode)制作生成库。 QRCode.js有着良好的跨...

    java开源包1

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

Global site tag (gtag.js) - Google Analytics