生成二维码

一:创建maven工程   导入pom文件
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>7</source>
<target>7</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.3.0</version>
</dependency>
</dependencies>

二:在java中编写
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;

import java.io.File;
import java.nio.file.Path;
import java.util.HashMap;

public class Zxing {
public static void main(String[] args) {
Zxing zxing = new Zxing();

// 传参:二维码内容和生成路径
if (zxing.orCode("https://192.168.5.5:8088/antiepidemic/index.jsp", "D:\\3.jpg")) {
System.out.println("ok,成功");
} else {
System.out.println("no,失败");
}
}

private boolean orCode(String content, String path) {
/*
* 图片的宽度和高度
*/
int width = 300;
int height = 300;
// 图片的格式
String format = "png";

// 定义二维码的参数
HashMap<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();
// 定义字符集编码格式
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
// 纠错的等级 L > M > Q > H 纠错的能力越高可存储的越少,一般使用M
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
// 设置图片边距
hints.put(EncodeHintType.MARGIN, 2);

try {
// 最终生成 参数列表 (1.内容 2.格式 3.宽度 4.高度 5.二维码参数)
BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);
// 写入到本地
Path file = new File(path).toPath();
MatrixToImageWriter.writeToPath(bitMatrix, format, file);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}

}
}
posted on 2020-12-22 09:40  张东东1  阅读(102)  评论(0)    收藏  举报