SpringBoot生成一维码和二维码

1.引入依赖:在pom.xml文件中添加依赖,例如zxing库

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

2.生成一维码和二维码并转为Base64字符串

import com.google.zxing.BarcodeFormat;
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.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Base64;

public class BarcodeBase64Converter {

    public String generateBarcodeBase64(String content, BarcodeFormat format) throws WriterException, IOException {
        int width = 300;
        int height = 100;

        // 生成条形码或二维码
        BitMatrix bitMatrix = new MultiFormatWriter().encode(content, format, width, height);

        // 将码图像写入字节数组输出流
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        MatrixToImageWriter.writeToStream(bitMatrix, "PNG", outputStream);

        // 将字节数组输出流中的数据转换为Base64字符串
        byte[] bytes = outputStream.toByteArray();
        String base64String = Base64.getEncoder().encodeToString(bytes);

        return base64String;
    }

    public static void main(String[] args) {
        String barcodeContent = "123456789";
        String qrCodeContent = "https://www.example.com";

        BarcodeBase64Converter converter = new BarcodeBase64Converter();
        try {
            // 生成一维码
            String base64Barcode = converter.generateBarcodeBase64(barcodeContent, BarcodeFormat.CODE_128);
            System.out.println("Base64 Barcode: " + base64Barcode);

            // 生成二维码
            String base64QRCode = converter.generateBarcodeBase64(qrCodeContent, BarcodeFormat.QR_CODE);
            System.out.println("Base64 QR Code: " + base64QRCode);
        } catch (WriterException | IOException e) {
            e.printStackTrace();
        }
    }
}

相关推荐

  1. SpringBoot生成

    2024-04-08 13:08:01       36 阅读
  2. vue生成

    2024-04-08 13:08:01       57 阅读
  3. SpringBoot使用Zxing生成

    2024-04-08 13:08:01       34 阅读
  4. 生成

    2024-04-08 13:08:01       64 阅读
  5. 自己生成

    2024-04-08 13:08:01       57 阅读
  6. 前端生成

    2024-04-08 13:08:01       31 阅读
  7. Android 生成

    2024-04-08 13:08:01       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-08 13:08:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-08 13:08:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-08 13:08:01       87 阅读
  4. Python语言-面向对象

    2024-04-08 13:08:01       96 阅读

热门阅读

  1. 系统架构评估_1.相关概念

    2024-04-08 13:08:01       39 阅读
  2. 【flask快速上手(一)】

    2024-04-08 13:08:01       40 阅读
  3. 深入浅出 -- 系统架构之负载均衡Nginx配置SSL证书

    2024-04-08 13:08:01       37 阅读
  4. 使用数据增强和dropout的图像分类

    2024-04-08 13:08:01       27 阅读
  5. 【css】backgroud-position控制背景图位置

    2024-04-08 13:08:01       32 阅读
  6. windows 环境下docker打包python项目

    2024-04-08 13:08:01       41 阅读
  7. 基于单片机的风向风速传感器防冻装置设计

    2024-04-08 13:08:01       35 阅读
  8. 网络入门基础

    2024-04-08 13:08:01       30 阅读