1. 引入 zxing
依赖
在 pom.xml
中添加 zxing
的依赖:
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.5.1</version>
</dependency>
2. 生成二维码的示例代码
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;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
public class QRCodeGenerator {
public static void main(String[] args) {
// 需要编码的文本
String text = "http://www.baidu.com";
// 设置二维码的宽度和高度
int width = 300;
int height = 300;
// 设置二维码的图片格式
String filePath = "D:\\qrcode.png";
String format = "png";
// 设置编码参数
Map<EncodeHintType, Object> hints = new HashMap<>();
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
try {
// 生成二维码
BitMatrix bitMatrix = new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, width, height, hints);
// 保存二维码到文件
Path path = new File(filePath).toPath();
MatrixToImageWriter.writeToPath(bitMatrix, format, path);
System.out.println("二维码生成成功: " + filePath);
} catch (WriterException | IOException e) {
e.printStackTrace();
}
}
}