0
点赞
收藏
分享

微信扫一扫

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();
        }
    }
}

SpringBoot生成码_二维码

举报

相关推荐

0 条评论