[Java]批量生成二维码

来源:互联网 发布:日本软件行业 编辑:程序博客网 时间:2024/06/05 20:16

官网

实现参考 zxing 官网

maven依赖:

<dependency>    <groupId>com.google.zxing</groupId>    <artifactId>javase</artifactId>    <version>3.2.1</version></dependency><dependency>    <groupId>com.google.zxing</groupId>    <artifactId>core</artifactId>    <version>3.2.1</version></dependency>

实现代码

/***  为指定内容生成码,并生成png文件到指定目录* @param content* @param format BarcodeFormat.QR_CODE- 二维码* @param width* @param height* @param imgPath*/public static void encode(String content, BarcodeFormat format, int width, int height, String imgPath){    Map<EncodeHintType, Object> hints = Maps.newHashMap();    hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);     // 指定纠错等级    hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");   // 指定编码格式    try {        BitMatrix bitMatrix = new MultiFormatWriter().encode(content, format, width, height, hints);        MatrixToImageWriter.writeToFile(bitMatrix, "png", new File(imgPath));    } catch (Exception e) {        logger.error(e);        e.printStackTrace();    }}

测试Demo

@Testpublic void encode(){    int width = 300, height = 300;    String fileName = "demo";    for (int i = 0; i < 10000; i++){        String imgPath = "d:/work/qrcode/" + fileName + i + ".png";        Map<String, Object> content = Maps.newHashMap();        content.put("bookId", i);        content.put("copyright", "www.demo.com");        content.put("date", System.currentTimeMillis());        ZXingCodeUtil.encode(JsonUtil.toJson(content), width, height, imgPath); // 默认生成二维码        System.out.println("Hi ,you have finished zxing encode:" + fileName + i);    }}
1 0
原创粉丝点击