利用goole的com.google.zxing创建二维码
1.创建Maven项目,并在pom.xml中添加依赖
<!-- https://mvnrepository.com/artifact/com.google.zxing/core -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.4.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.zxing/javase -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.4.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<!-- 快速生成json格式的字符串 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
2. 生成二维码文件
public class QRcode {
@Test
public void genderQRcode() throws Exception {
JSONObject jsonObject = new JSONObject();
jsonObject.put("company", "http://...");
jsonObject.put("author", "abc");
jsonObject.put("address", "China");
jsonObject.put("total", "10000");
String jsonString = jsonObject.toString();
System.out.println(jsonString);
int width = 200;
int height = 200;
Map<EncodeHintType,Object> hints = new HashMap<EncodeHintType, Object>();
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
BitMatrix bitmatrix = new MultiFormatWriter()
.encode(jsonString, BarcodeFormat.QR_CODE,
width, height, hints);
Path path= FileSystems.getDefault().getPath("d://", "QRcode.jpg");
MatrixToImageWriter.writeToPath(bitmatrix, "jpg", path);
System.out.println("生成二维码图片");
}
}