条形码/二维码之开源利器ZXing图文介绍

继前面介绍的一个日本开源软件(该软件只能实现QRCode)原文: Java实现二维码QRCode的编码和解码(http://www.micmiu.com/enterprise-app/java-qrcode/ ),今发现又一优秀的开源利器– ZXing,相比而言它更加灵活方便,可以实现多种编码格式。

全文目录:

  • 基本介绍
  • 二维码(比如:QRCode)的编码和解码演示
  • 条形码(比如:EAN-13)的编码和解码演示

【一】、 基本介绍 :

1-1. ZXing是一个开源Java类库用于解析多种格式的条形码和二维码.

官网:http://code.google.com/p/zxing/

截止目前为止最新版本为1.7,提供以下编码格式的支持:

  • UPC-A and UPC-E
  • EAN-8 and EAN-13
  • Code 39
  • Code 93
  • Code 128
  • QR Code
  • ITF
  • Codabar
  • RSS-14 (all variants)
  • Data Matrix
  • PDF 417 (‘alpha’ quality)
  • Aztec (‘alpha’ quality)

同时官网提供了 Android、cpp、C#、iPhone、j2me、j2se、jruby、objc、rim、symbian等多种应用的类库,具体详情可以参考下载的源码包中。

1-2. 本文和之前的那篇文章一样,主要是在PC上实现条形码(EAN-13)和二维码(QRCode) 的编码和解码的示例,以供大家参考,用到了源码中core和javase下面的相关源代码,附件提供自己编译之后的lib包:

有关各种手机系统的应用,有兴趣的朋友可以下载官方源码包,包下有具体详细的应用介绍。

【二】、 二维码(QRCode)的编码和解码演示:

2-1. 编码示例:

运行后生成的二维码图片如下:

和前篇介绍一样,用手机的二维码扫描软件(本人用的:android 快拍二维码 )来测试下,识别成功的截图如下:

2-2. 解码示例:

运行结果如下:

解码内容如下:
Hello Michael(大大),welcome to Zxing!
Michael’s blog [ http://sjsky.iteye.com ]
EMail [ sjsky007@gmail.com ]
Twitter [ @suncto ]
Michael ,you have finished zxing decode.

从测试结果可见:解码出的内容和之前编码的内容是一致

【三】、 条形码(EAN-13)的编码和解码演示:

3-1. 编码示例:

6 923450 657713 对应的是益达无糖口香糖:

运行后生成的条形码图片如下:

用手机的扫描软件,识别成功的截图如下:

3-2. 解码示例:

运行结果如下: 

解码内容如下:
6923450657713
Michael ,you have finished zxing decode.

从测试结果可见:解码出的内容和之前编码的内容是一致。

原创文章,转载请注明: 转载自micmiu – 软件开发+生活点滴[ http://www.micmiu.com/ ]

本文链接地址: http://www.micmiu.com/enterprise-app/java-zxing/

发表评论?

12 条评论。

  1. 如何实现微信那种,二维码中间带有图片的二维码

    • 二维码 自身有容错功能,中间加的图片不要过大(容错能力根据你的二维码设置有关) 不会影响扫描的,
      具体没有实现过没办法给你建议,不过可以简单把图片合并下试试扫描情况

  2. 求教:ZXing 如何实现生成
    6 923450 657713 对应的是益达无糖口香糖 下的图片

    条码和数字组成 1+(两竖)+6+(两竖)+6+(两竖)
    这个好像是软件生成的 字库EAN_c.ttf

  3. Michael,您好,编码后的二维码文件,用解码软件(android 我看看)解码,解析出来的内容前面总是多了“]Q200026”,不知为什么呢

  4. 你好請問版主可給我這整個檔案嗎我想知道layout要哪些原件android 想問什是快拍二维码
    我自己是有失敗錯誤有這些:
    import javax.imageio.ImageIO;
    result = = new MultiFormatReader().decode(bitmap, hints);
    想請問這要如何解決

  5. 你好,我试用了一下 发现这个解码程序解码的容量有限制,请问如何能突破容量限制呢?

回复给 Michael ¬
取消回复


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">