当前位置: 首页> 汽车> 新车 > 【Java】几种常用生成二维码的库

【Java】几种常用生成二维码的库

时间:2025/7/9 21:18:40来源:https://blog.csdn.net/hui_zai_/article/details/139223100 浏览次数: 0次

在Java端生成包含URL信息的二维码,除了ZXing (Zebra Crossing) 库之外,还有几种其他工具包也可以使用。以下是几种常用的Java库和框架,可以生成二维码:

  1. ZXing (Zebra Crossing)

    • 一个广泛使用的开源库,支持生成和解析多种类型的条形码,包括二维码。
    • 官方文档和下载地址:ZXing
  2. QRGen

    • 基于ZXing的一个简单易用的库,提供了一些便捷的方法来生成二维码。
    • 官方文档和下载地址:QRGen
  3. QRCodeGenerator

    • 一个简单的库,专注于生成二维码。
    • 官方文档和下载地址:QRCodeGenerator
  4. QR Code Monkey

    • 一个在线工具,但也提供了API接口,可以在Java应用中调用来生成二维码。
    • 官方文档和下载地址:QR Code Monkey

下面是使用ZXing和QRGen库生成包含URL信息的二维码的示例代码:

使用ZXing生成包含URL信息的二维码

import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;public class ZXingQRCodeGenerator {public static void generateQRCodeImage(String text, int width, int height, String filePath) throws WriterException, java.io.IOException {QRCodeWriter qrCodeWriter = new QRCodeWriter();Map<EncodeHintType, Object> hintMap = new HashMap<>();hintMap.put(EncodeHintType.CHARACTER_SET, "UTF-8");hintMap.put(EncodeHintType.MARGIN, 1); // default is 4BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height, hintMap);Path path = FileSystems.getDefault().getPath(filePath);MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);}public static void main(String[] args) {try {generateQRCodeImage("https://www.example.com", 350, 350, "ZXingQRCode.png");System.out.println("ZXing QR Code generated successfully.");} catch (WriterException | java.io.IOException e) {System.err.println("Could not generate QR Code, " + e.getMessage());}}
}

使用QRGen生成包含URL信息的二维码

首先,添加QRGen依赖(Maven或者Gradle):

Maven:

<dependency><groupId>net.glxn</groupId><artifactId>qrgen</artifactId><version>2.6.0</version>
</dependency>

Gradle:

implementation 'net.glxn:qrgen:2.6.0'

然后使用以下代码生成二维码:

import com.google.zxing.WriterException;
import net.glxn.qrgen.javase.QRCode;import java.io.File;
import java.io.IOException;public class QRGenQRCodeGenerator {public static void generateQRCodeImage(String text, int width, int height, String filePath) throws IOException {File qrFile = QRCode.from(text).withSize(width, height).file();qrFile.renameTo(new File(filePath));}public static void main(String[] args) {try {generateQRCodeImage("https://www.example.com", 350, 350, "QRGenQRCode.png");System.out.println("QRGen QR Code generated successfully.");} catch (IOException e) {System.err.println("Could not generate QR Code, " + e.getMessage());}}
}

这两种方法都能生成包含URL信息的二维码,选择使用哪个库取决于你的具体需求和偏好。ZXing功能全面,适合需要更多自定义和控制的场景,而QRGen则提供了更简单的接口,适合快速生成二维码的需求。

关键字:【Java】几种常用生成二维码的库

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: