Java简单生成二维码

二维码简介

二维条码/二维码(2-dimensional bar
code,QRCode)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。
---- 来自百度百科http://baike.baidu.com/link?url=9q1Mc6pObTbmDwvtEtungEjJutYmW-_EGKIn5J3FCa_YIJ3jei8ZdZSMouVngNFDEiFhYgTHpyf0PDO8QHXRga

Java生成QRCode

Zebra Crossing(ZXing是一个可以在大多数平台(Android、JavaSE、iPhone、RIM、Symbian)中用来生成、解析QR码的开源库。而QRGen是在ZXing基础上开发,这个库使得利用Java生成QR码变为小菜一碟。它需要依赖ZXing,所以生成图案时你同时需要ZXing和QRGen的jar包。

在pom.xml添加qrcode的依赖:


<dependency>
    <groupId>net.glxn</groupId>
   
<artifactId>qrgen</artifactId>
   
<version>1.4</version>

</dependency>

然后在Maven Dependencies中会自动下载如下3个jar包:

qrgen-1.4.jar

javase-3.0.0.jar

core-3.0.0.jar

接下来就是写一段Java程序来生成QRCode了,大致说来就是设置好二维码中的内容,然后调用qrgen的API来生成image/png格式的内容,既可以保存为图片文件,还可以在网页上直接显示该QRCode。

Java代码如下所示,QRCode的内容是一个百度的链接:


package com.test.qrcode;

import java.io.ByteArrayOutputStream;
import java.io.File;
import
java.io.FileNotFoundException;
import java.io.FileOutputStream;
import
java.io.IOException;

import net.glxn.qrgen.QRCode;
import net.glxn.qrgen.image.ImageType;

public class QRCodeService
{
    public static void main(String[]
args)
    {
        String qrcodeContent = "https://www.baidu.com/";
       
ByteArrayOutputStream out =
QRCode.from(qrcodeContent).to(ImageType.PNG).stream();

try
        {
            FileOutputStream fout = new
FileOutputStream(new File("D:/Download/QR_Code.jpg"));
           
fout.write(out.toByteArray());
            fout.flush();
           
fout.close();
        }
        catch (FileNotFoundException e)

{
            e.printStackTrace();
        }
       
catch (IOException e)
        {
            e.printStackTrace();

}
    }
}

打开保存的图片文件,就可以看到生成的百度链接的二维码了:

至此,一个简单的Java生成二维码的样例就演示完了,可以借助qrgen的API的强大功能,实现我们特定的需求,例如:在网页中动态为用户生成二维码等。

时间: 2024-08-01 18:41:51

Java简单生成二维码的相关文章

java实现生成二维码

                                                     java实现生成二维码 二维码vs条形码 最大的区别就是:二维码具有容错功能,当二维码图片被遮挡一部分后,仍可以扫描出来.容错的原理是二维码在编码过程中进行了冗余,就像是123被编码成123123,这样只要扫描到一部分二维码图片,二维码内容还是可以被全部读到. 二维码容错率即是指二维码图标被遮挡多少后,仍可以被扫描出来的能力.容错率越高,则二维码图片能被遮挡的部分越多. 二维码容错率用字母表

JAVA中生成二维码图片的方法

JAVA中生成二维码的方法并不复杂,使用google的zxing包就可以实现.下面的方法包含了生成二维码.在中间附加logo.添加文字功能. 一.下载zxing的架包,并导入项目中,如下: 最主要的包都在com.google.zxing.core下.如果是maven项目,maven依赖如下: 1 <dependency> 2 <groupId>com.google.zxing</groupId> 3 <artifactId>core</artifact

使用QRCode简单生成二维码

// //  ViewController.m //  二维码 // //  Created by 123 on 16/9/4. //  Copyright © 2016年 彭洪. All rights reserved. // #import "ViewController.h" #import "QRCodeGenerator.h"//引入库 @interface ViewController () @end @implementation ViewContro

jquery生成二维码

直接进入正题: 引入jquery js 和jquery-qrcode.js ,稍后本人会将代码demo上传至资源库.代码很简单: 如果是非中文的字符生成二维码,那么就比较简单了. <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script type="text/javascript" src=

java学习-zxing生成二维码矩阵的简单例子

这个例子需要使用google的开源项目zxing的核心jar包 core-3.2.0.jar 可以百度搜索下载jar文件 也可使用maven添加依赖 <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.2.0</version> </dependency> 最简单的生成二维码的方法,

java和js生成二维码

1. java生成二维码 1.1 依赖jar包配置(使用maven依赖) 1 <dependency> 2 <groupId>com.google.zxing</groupId> 3 <artifactId>core</artifactId> 4 <version>3.0.0</version> 5 </dependency> 6 <dependency> 7 <groupId>com.

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/barcode

Java利用Zxing生成二维码

Zxing是Google提供的关于条码(一维码.二维码)的解析工具,提供了二维码的生成与解析的方法,现在我简单介绍一下使用Java利用Zxing生成与解析二维码 1.二维码的生成 1.1 将Zxing-core.jar 包加入到classpath下. 1.2 二维码的生成需要借助MatrixToImageWriter类,该类是由Google提供的,可以将该类拷贝到源码中,这里我将该类的源码贴上,可以直接使用. import com.google.zxing.common.BitMatrix; i

java生成二维码扫码网页自动登录功能

找了很多资料,七七八八都试了一遍,最终写出来了这个功能. 菜鸟一枚,此文只为做笔记. 简单的一个生成二维码,通过网页确认登录,实现二维码页面跳转到主页面. 有三个servlet: CodeServlet.java 干2件事 a:生成随机的uuid,是一个唯一标识,该标识贯穿整个流程 b:生成二维码图片,二维码信息:http://xx.xx.xx.xx:8080/xxxx/login.jsp?uuid= xxxx LongConnectionCheckServlet.java 进行长连接轮询操作,