Java生成二维码——基于Google插件

Java生成二维码——基于Google插件

lixiangrong
2023-03-05 / 0 评论 / 55 阅读 / 正在检测是否收录...

1.打开IDEA,点击File,新建Module,选择Maven
然后点击下一步,在Name输入框中给这个模块取个名字即可,点击Finish。
2.在pom.xml配置文件中添加以下依赖:

<properties>
    <java.version>1.8</java.version>
</properties>
<dependencies>
    <!--添加二维码生成相关的jar包-->
    <dependency>
        <groupId>com.google.zxing</groupId>
        <artifactId>core</artifactId>
        <version>3.3.2</version>
    </dependency>
    <dependency>
        <groupId>com.google.zxing</groupId>
        <artifactId>javase</artifactId>
        <version>3.2.1</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.68</version>
    </dependency>
</dependencies>

3.在src下的test.java包中新建一个测试类QRCode.java,源代码如下:

import com.alibaba.fastjson.JSONObject;
import com.google.zxing.*;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import org.junit.Test;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
public class QRCodeTest {
    @Test
    public void creatQRCode() throws WriterException, IOException {
        //1.定义json格式字符串,使用fastJson
        JSONObject jsonObject = new JSONObject();
        //2.把数据存放在json对象中
        jsonObject.put("name","xxx");
        jsonObject.put("address","xxxxxxxx");
        jsonObject.put("major","计算机科学与技术");
        jsonObject.put("电话","xxxxxxx");
        jsonObject.put("company","https://www.lxrao.com/");
        //3.将json对象转换为json格式的字符串
        String contest = jsonObject.toString();
        //4.定义二维码的规格
        int width = 200;int height = 200;
        //5.创建Map集合
        Map<EncodeHintType,Object> map = new HashMap();
        map.put(EncodeHintType.CHARACTER_SET,"UTF-8");
        //6.创建位矩阵对象
        BitMatrix bitMatrix = new MultiFormatWriter().encode(contest, BarcodeFormat.QR_CODE,width,height,map);
        //7.指定生成的路径和文件名
        String path = "E://QRCodeImage//";
        String filename = "QRCode.jpg";
        //8.创建路径对象
        Path path1 = FileSystems.getDefault().getPath(path,filename);
        //9.将矩阵对象生成为图片格式
        MatrixToImageWriter.writeToPath(bitMatrix,"jpg",path1);
        System.out.println("生成二维码成功!");
    }
}
1

评论 (0)

取消