当前位置:首页 > 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的输出参数来自定义二维码样式:

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如何

java如何

Java 基础语法 Java 是一种面向对象的编程语言,语法相对严谨。每个 Java 程序必须包含一个 main 方法作为程序入口。以下是一个简单的 Java 程序示例: public class…

如何配置java

如何配置java

安装Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面下载适合操作系统的JDK安装包。选择与系统架构匹配的版本(如Windows x64、macOS ARM等)。运行安装程…

如何删除java

如何删除java

卸载 Java 的步骤 Windows 系统: 打开控制面板,选择“程序和功能”或“卸载程序”,在列表中找到 Java 相关条目(如“Java Runtime Environment”或“Java D…

java程序如何运行

java程序如何运行

编写Java代码 使用文本编辑器或IDE(如IntelliJ IDEA、Eclipse)编写Java源代码,保存为.java文件。例如: public class HelloWorld {…

如何配置java环境

如何配置java环境

下载JDK安装包 访问Oracle官网或OpenJDK官网,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。下载完成后,运行安装程序并按照提示完成安装。 设置环境变量 右…

java如何自学

java如何自学

确定学习目标和路径 自学Java需要明确目标,例如开发Web应用、Android应用或后端服务。根据目标选择学习重点,如Java基础、Spring框架或Android开发。制定阶段性计划,从基础语法到…