JAVA使用ZXING二维码生成器实现二维码输出

通过JAVA生成二维码的方式主要有两种(ZXing和QRCode),此次实现的代码采用的是google公司提供的ZXing二维码生成器。

第一步:导包  



第二步:代码实现


import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;

/**
 * 二维码生成测试
 * @author Administrator
 *
 */
public class QRCodeTest {
	
	//生成二维码
	public void QRcode() throws WriterException, IOException{
		
		String FileName = "ZXing.jpg";  //文件名称
		String FilePath = "d:/";	//文件保存地址
		
		/**
		 * 可以通过json格式来进行数据跳转,同样也可以通过String来进行写相关的代码或信息
		 */
		//创建JSON解析器(阿里巴巴)
		//JSONObject json = new JSONObject();
		//json.put("baidu", "https://www.baidu.com/");
		//将JSON数据转换成字符类型
		//String content = json.toJSONString();
		
		//设置跳转地址(如果需要直接跳转应直接采用String 数据类型进行跳转)
		String content = "https://www.baidu.com/";
		
		int width = 200; //设置二维码图片宽度
		int height = 200; //设置二维码图片高度
		String format = "jpg"; //设置二维码图像类型
		
		Map<EncodeHintType, Object> hint = new HashMap<EncodeHintType, Object>();
		//设置输出格式
		hint.put(EncodeHintType.CHARACTER_SET, "UTF8");
		
		//生成矩形(MultiFormatWriter是一个工厂类,根据传入的参数生相应的条码)
		BitMatrix bm = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hint);
		
		//指定图像生成后保存路径并指定名字
		Path path = FileSystems.getDefault().getPath(FilePath, FileName);
		//写出编码到指定路径(传入参数代码的格式、图像的类型、图像生成后的路径),该方法在javase-3.0.jar版本后已封装到JAR包中
		MatrixToImageWriter.writeToPath(bm, format, path);
		
		System.out.println("输出成功!");
		
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章