当前位置:首页 > Java

java如何生成二维码

2026-02-05 00:31:56Java

生成二维码的方法

在Java中生成二维码可以通过多种库实现,以下是几种常见的方法:

使用ZXing库

ZXing(Zebra Crossing)是一个开源的二维码处理库,支持生成和解析二维码。

  1. 添加ZXing依赖到项目中(Maven):

    <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. 生成二维码代码示例:

    
    import com.google.zxing.BarcodeFormat;
    import com.google.zxing.MultiFormatWriter;
    import com.google.zxing.client.j2se.MatrixToImageWriter;
    import com.google.zxing.common.BitMatrix;

import java.nio.file.FileSystems; import java.nio.file.Path;

public class QRCodeGenerator { public static void generateQRCode(String text, int width, int height, String filePath) throws Exception { BitMatrix bitMatrix = new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, width, height); Path path = FileSystems.getDefault().getPath(filePath); MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path); }

public static void main(String[] args) {
    try {
        generateQRCode("https://example.com", 200, 200, "qrcode.png");
    } catch (Exception e) {
        e.printStackTrace();
    }
}

}


使用QRGen库

QRGen是基于ZXing的简化库,提供了更简洁的API。

1. 添加QRGen依赖:
```xml
<dependency>
    <groupId>io.github.g0dkar</groupId>
    <artifactId>qrcode-kotlin-jvm</artifactId>
    <version>3.3.0</version>
</dependency>
  1. 生成二维码代码示例:
    
    import io.github.g0dkar.qrcode.QRCode;

import java.io.FileOutputStream;

public class QRGenExample { public static void main(String[] args) throws Exception { new QRCode("https://example.com") .render() .writeToFile(new FileOutputStream("qrcode.png")); } }


生成二维码到内存

如果需要将二维码直接生成到内存而不是保存为文件:

```java
import com.google.zxing.BarcodeFormat;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;

import java.io.ByteArrayOutputStream;

public class QRCodeInMemory {
    public static byte[] generateQRCodeBytes(String text, int width, int height) throws Exception {
        BitMatrix bitMatrix = new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, width, height);
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        MatrixToImageWriter.writeToStream(bitMatrix, "PNG", outputStream);
        return outputStream.toByteArray();
    }
}

自定义二维码样式

可以通过修改ZXing的输出参数来自定义二维码样式:

java如何生成二维码

import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;

import java.util.HashMap;
import java.util.Map;

public class CustomQRCode {
    public static void generateCustomQRCode() throws Exception {
        Map<EncodeHintType, Object> hints = new HashMap<>();
        hints.put(EncodeHintType.MARGIN, 2); // 设置边距
        hints.put(EncodeHintType.ERROR_CORRECTION, "L"); // 设置纠错级别

        BitMatrix bitMatrix = new MultiFormatWriter().encode(
            "https://example.com",
            BarcodeFormat.QR_CODE,
            300,
            300,
            hints
        );

        MatrixToImageWriter.writeToPath(bitMatrix, "PNG", Path.of("custom_qrcode.png"));
    }
}

以上方法提供了在Java中生成二维码的不同实现方式,可以根据项目需求选择合适的库和方法。ZXing是最常用的选择,提供了最大的灵活性;QRGen则提供了更简洁的API。

标签: 二维码java
分享给朋友:

相关文章

java如何输入

java如何输入

使用Scanner类进行输入 Scanner类是Java中最常用的输入工具,适用于从控制台或文件读取数据。需要导入java.util.Scanner包。 基本语法: Scanner sca…

java如何react

java如何react

在Java中使用React 要在Java项目中集成React,通常需要将React前端与Java后端结合使用。以下是几种常见的方法: 使用Spring Boot作为后端 Spring Boot是一个…

java如何上传文件

java如何上传文件

使用HttpURLConnection上传文件 在Java中,可以通过HttpURLConnection实现文件上传功能。需要设置请求头为multipart/form-data,并构建包含文件数据的请…

java前景如何

java前景如何

Java 当前的市场需求 Java 在企业级开发、大数据、云计算等领域仍占据重要地位。许多大型企业(如银行、电商平台)依赖 Java 构建后端系统。招聘平台数据显示,Java 开发岗位数量稳定,尤其在…

java如何产生随机数

java如何产生随机数

使用 Math.random() 方法 Math.random() 生成一个范围在 [0.0, 1.0) 的伪随机 double 值。通过缩放和偏移可以生成指定范围的随机数。 double ra…

如何启用java

如何启用java

启用 Java 的方法 检查 Java 是否已安装 在命令行或终端输入 java -version,如果显示版本信息,说明 Java 已安装。若未安装,需从 Oracle 官网 或 OpenJDK 下…