QR Code码,是由Denso公司于1994年9月研制的一种矩阵二维码符号,它具有一维条码及其它二 维条码所具有的信息容量大、可靠性高、可表示汉字及图象多种文字信息、保密防伪性强等优点。 maven项目,pom.xml添加依赖 }
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.4.1</version>
public static void main(String[] args) throws WriterException, IOException, ChecksumException, NotFoundException, FormatException {
//Map存入编码格式
Map<EncodeHintType, Object> hint = new HashMap<>();
//设置二维码内容
//var a = new BufferedReader(new FileReader("E:\\maven\\aa1.txt"));
hint.put(EncodeHintType.CHARACTER_SET, "UTF-8");
//使用组件设置内容大小格式
var bm = new QRCodeWriter().encode("tt", BarcodeFormat.QR_CODE, 200, 200, hint);
var i = MatrixToImageWriter.toBufferedImage(bm);
ImageIO.write(i, "png", new FileOutputStream("qr.png"));
//读取QRcode
var img = ImageIO.read(new File("qr.png"));
var src = new BufferedImageLuminanceSource(img);
var binarizer = new HybridBinarizer(src);
var binaryBitmap = new BinaryBitmap(binarizer);
var result = new QRCodeReader().decode(binaryBitmap);
System.out.println(result.getText());
}