版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Happy_cloudlife/article/details/78864825
前言
我在上篇文章中讲了如何用js快速生成二维码,这次我们来看看怎么用zxing工具来生成二维码。
准备工作
首先去GitHub上下载所需要的zxing的工程文件文件。
同样是找到发行版本,下载zip格式的文件。
解压文件,找到我们所需要的源文件,然后创建一个java的Projectm,将图中的两个文件夹,拷贝到项目中,打成jar包。
开始生成二维码
首先创建java项目,引入我们刚才打好的jar包。
接下来就直接上代码了,简单粗暴:
package xin.shaojie.zxing;
import java.io.File;
import java.util.HashMap;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
/**
* @ClassName: CreateQRCode
* @Description: 生成QRCode二维码
* @author CloudLife
* @date 2017年12月21日 下午2:16:38
*
*/
public class CreateQRCode {
public static void main(String[] args) {
//指定二维码的宽度和高度
int width = 300;
int height = 300;
//指定二维码的文件格式
String format = "png";
//指定二维码的内容
String content = "http://blog.csdn.net/happy_cloudlife/";
//定义二维码的参数
HashMap hints = new HashMap<>();
//字符集
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
//纠错等级
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
//二维码边距
hints.put(EncodeHintType.MARGIN, 2);
//捕捉异常
try {
BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);
MatrixToImageWriter.writeToPath(bitMatrix, format, new File("D:/CloudLife.png").toPath());
} catch (Exception e) {
e.printStackTrace();
}
}
}
我们来看一下生成的结果:
总结
相比js的生成,麻烦的就在下载完zxing的项目打成jar包,如果觉得麻烦可以看一下我写的jquery-qrcode插件生成。
另外附上我已经打好的jar:链接:https://pan.baidu.com/s/1miOka2s 密码:mfoj
我会在后面说明怎么用zxing解析二维码。