`
shuai1234
  • 浏览: 971673 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

java实现二维码生成的几个方法

    博客分类:
  • java
 
阅读更多

1: 使用SwetakeQRCode在Java项目中生成二维码 
http://swetake.com/qr/ 下载地址 
或着http://sourceforge.jp/projects/qrcode/downloads/28391/qrcode.zip 
这个是日本人写的,生成的是我们常见的方形的二维码 
可以用中文 

如:5677777ghjjjjj 

2: 使用BarCode4j生成条形码和二维码 
BarCode4j网址:http://sourceforge.net/projects/barcode4j/ 

barcode4j是使用datamatrix的二维码生成算法,为支持qr的算法 
datamatrix是欧美的标准,qr为日本的标准, 
barcode4j一般生成出来是长方形的

如:88777alec000yan 
这个博客这方面说的挺清楚的: 
http://baijinshan.iteye.com/blog/1004554

3:zxing 
zxing 这个是google的 
下载地址 
http://code.google.com/p/zxing/downloads/list

Java代码:

  1. import java.io.File;   
  2. import java.util.Hashtable;   
  3.   
  4. import com.google.zxing.BarcodeFormat;   
  5. import com.google.zxing.EncodeHintType;   
  6. import com.google.zxing.MultiFormatWriter;   
  7. import com.google.zxing.client.j2se.MatrixToImageWriter;   
  8. import com.google.zxing.common.BitMatrix;   
  9. import com.google.zxing.qrcode.QRCodeWriter;   
  10.   
  11.   
  12.   
  13. public class QRCodeEvents {   
  14.        
  15.     public static void main(String []args)throws Exception{   
  16.         String text = "你好";   
  17.         int width = 100;   
  18.         int height = 100;   
  19.         String format = "png";   
  20.         Hashtable hints= new Hashtable();   
  21.         hints.put(EncodeHintType.CHARACTER_SET, "utf-8");   
  22.          BitMatrix bitMatrix = new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, width, height,hints);   
  23.          File outputFile = new File("new.png");   
  24.          MatrixToImageWriter.writeToFile(bitMatrix, format, outputFile);   
  25.             
  26.     }   
  27. }  

4:google chart api就有实现二维码的方法

    利用这个api,使用google appengine进行实现。

 

5:JS生成二维码

使用jquery-qrcode生成二维码

先简单说一下jquery-qrcode,这个开源的三方库(可以从https://github.com/jeromeetienne/jquery-qrcode 获取),

qrcode.js 是实现二维码数据计算的核心类,

jquery.qrcode.js 是把它用jquery方式封装起来的,用它来实现图形渲染,其实就是画图(支持canvas和table两种方式)

 

支持的功能主要有:

Js代码:

  1. text     : "https://github.com/jeromeetienne/jquery-qrcode"  //设置二维码内容  

     

Js代码:

  1. render   : "canvas",//设置渲染方式   
  2. width       : 256,     //设置宽度   
  3. height      : 256,     //设置高度   
  4. typeNumber  : -1,      //计算模式   
  5. correctLevel    : QRErrorCorrectLevel.H,//纠错等级   
  6. background      : "#ffffff",//背景颜色   
  7. foreground      : "#000000" //前景颜色  

使用方式非常简单

 

Js代码:

  1. jQuery('#output').qrcode({width:200,height:200,correctLevel:0,text:content});  

经过简单实践,

 

使用canvas方式渲染性能还是非常不错的,但是如果用table方式,性能不太理想,特别是IE9以下的浏览器,所以需要自行优化一下渲染table的方式,这里就不细述了。

其实上面的js有一个小小的缺点,就是默认不支持中文。

这跟js的机制有关系,jquery-qrcode这个库是采用 charCodeAt() 这个方式进行编码转换的,

而这个方法默认会获取它的 Unicode 编码,一般的解码器都是采用UTF-8, ISO-8859-1等方式,

英文是没有问题,如果是中文,一般情况下Unicode是UTF-16实现,长度2位,而UTF-8编码是3位,这样二维码的编解码就不匹配了。

 

解决方式当然是,在二维码编码前把字符串转换成UTF-8,具体代码如下:

  1. function utf16to8(str) {   
  2.     var out, i, len, c;   
  3.     out = "";   
  4.     len = str.length;   
  5.     for(i = 0; i < len; i++) {   
  6.     c = str.charCodeAt(i);   
  7.     if ((c >= 0x0001) && (c <= 0x007F)) {   
  8.         out += str.charAt(i);   
  9.     } else if (c > 0x07FF) {   
  10.         out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));   
  11.         out += String.fromCharCode(0x80 | ((c >>  6) & 0x3F));   
  12.         out += String.fromCharCode(0x80 | ((c >>  0) & 0x3F));   
  13.     } else {   
  14.         out += String.fromCharCode(0xC0 | ((c >>  6) & 0x1F));   
  15.         out += String.fromCharCode(0x80 | ((c >>  0) & 0x3F));   
  16.     }   
  17.     }   
  18.     return out;   
  19. }  

 

 

分享到:
评论

相关推荐

    java实现二维码(logo)生成

    总结来说,Java实现二维码生成主要涉及以下几个关键步骤: 1. 引入ZXing库。 2. 创建二维码内容并设置编码参数。 3. 使用`QRCodeWriter`生成BitMatrix。 4. 将BitMatrix转换为BufferedImage。 5. 加载并插入logo图像...

    java二维码生成器

    Java二维码生成器是一种工具,它允许开发者通过编程方式在Java应用程序中创建二维码图像。二维码,全称为Quick Response Code,是一种二维条形码,能够存储大量的数据,如文本、URL、联系信息等,并且可以通过智能...

    java版二维码生成器

    qrcode-generator库的使用更为简单,只需要调用几个方法即可生成二维码。 1. 引入库: ```xml &lt;groupId&gt;com.github.siom79/japicmp&lt;/groupId&gt; &lt;artifactId&gt;japicmp-maven-plugin &lt;version&gt;0.16.0 ``` 2. 生成...

    java实现二维码的生成和读取.rar

    生成二维码的过程通常涉及到以下几个步骤: - 选择合适的库:Java中有多个库可以用来生成二维码,例如Zxing(ZXing是“Zebra Crossing”的缩写,意为斑马线)和Java QRCode Generator。这里我们假设使用的是Zxing,...

    java生成二维码webservice

    ZXing的Java端提供了API,使得开发者可以轻松地在Java应用中集成二维码生成功能。这个Webservice就是利用了ZXing的这些功能,创建了一个可以通过HTTP请求调用的接口。 另一方面,qrcode.js库主要用于前端开发,它...

    JAVA实现二维码生成加背景图代码实例

    JAVA 实现二维码生成加背景图代码实例 本文主要介绍了使用 JAVA 实现二维码生成加背景图的代码实例,通过示例代码对二维码生成加背景图的实现进行了详细介绍,对大家的学习或工作具有一定的参考学习价值。 一、...

    java实现二维码生成的几个方法(推荐)

    Java 实现二维码生成的方法有多种,每种都有其特点和适用场景。以下是对这些方法的详细解释: 1. **Swetake QRCode**: 这是一个由日本人开发的库,能够生成我们常见的方形二维码,支持中文内容。你可以通过提供的...

    java实现二维码制作

    总结来说,Java实现二维码制作主要涉及以下几个步骤: 1. 引入ZXing库。 2. 创建`QRCodeWriter`对象。 3. 使用`encode`方法生成`BitMatrix`。 4. 将`BitMatrix`转换为`BufferedImage`并保存为图像文件。 这个过程...

    二维码生成-C语言版本

    在C语言中实现二维码生成,主要涉及以下几个关键步骤: 1. **数据编码**:根据二维码编码标准,将输入的数据转换为二进制流。这包括对数据进行错误校验,例如使用RS(Reed-Solomon)纠错编码,以提高二维码的容错...

    Java 二维码生成、解析

    本文将详细介绍如何使用Google的ZXing库来实现Java环境下的二维码生成与解析。 ZXing,全称Zebra Crossing,是一个开源的多格式一维/二维条码图像处理库,支持多种条码和二维码格式,如QRCode、DataMatrix、UPC等。...

    java二维码生成

    Java二维码生成技术是一种在软件开发中广泛使用的编码方式,它能够将大量的信息,如文本、网址、联系人信息等,编码成一个二维图形——二维码,方便用户通过手机或其他设备快速扫描读取。在这个主题中,我们主要关注...

    java中二维码打印问题

    1. **二维码生成**: - **库的选择**:在Java中,我们通常会借助第三方库来生成二维码,如`ZXing(Zebra Crossing)`或`qrcode4j`。ZXing是一个开源项目,提供多种格式的一维/二维条码读取和生成。在本案例中,描述...

    java生成二维码完成Demo

    总结,生成Java二维码的过程主要包括以下几个步骤: 1. 引入必要的库。 2. 创建二维码编码器并设置编码参数。 3. 编码数据生成BitMatrix。 4. 将BitMatrix转换为图像格式。 5. 保存图像为指定文件。 这个过程适用于...

    二维码生成工具全套JAVA源码.zip

    总的来说,这套JAVA二维码生成工具源码提供了一种灵活的二维码创建方式,对于开发人员来说,无论是用于商业项目还是个人学习,都是极具价值的资源。通过深入研究和实践,开发者不仅可以掌握二维码生成技术,还能提升...

    Java代码实现二维码生成与解析.pdf

    本示例代码展示了如何使用Java实现这一功能,主要依赖于一个名为`com.swetake.util.Qrcode`的库,这个库提供了二维码生成的核心算法。 首先,我们需要了解二维码的基本概念。二维码(Quick Response Code)是一种二...

    QR二维码生成源码(JAVA版)

    QR二维码生成源码(JAVA版)是一个实用的编程资源,主要针对那些希望在Java应用程序中集成二维码生成功能的开发者。二维码(Quick Response Code)是一种二维条形码,能够存储大量数据,如网址、文本、联系信息等,...

    Java实现-生成带参的小程序二维码

    这个过程涉及到几个关键步骤,包括与微信API的交互、数据编码和图像处理。下面将详细阐述如何实现这一功能。 首先,我们需要了解微信提供的API接口。微信提供了“微信开放平台”(https://open.weixin.qq.com/),...

    java生成二维码图片到页面.zip

    在IT行业中,二维码(Quick Response Code)是一种二维条形码,能够存储大量数据,如文本、URL、联系信息等,并且可以被智能手机等设备快速读取...总之,这个项目是Java开发者学习二维码生成和Web集成的一个宝贵资源。

Global site tag (gtag.js) - Google Analytics