Class QrCodeKit

java.lang.Object
org.aoju.bus.extra.qrcode.QrCodeKit

public class QrCodeKit extends Object
基于Zxing的二维码工具类
  • 二维码生成和识别,见BarcodeFormat.QR_CODE
  • 条形码生成和识别,见BarcodeFormat.CODE_39等很多标准格式
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static String
    decode(Image image)
    将二维码或条形码图片解码为文本
    static String
    decode(Image image, boolean isTryHarder, boolean isPureBarcode)
    将二维码或条形码图片解码为文本 此方法会尝试使用HybridBinarizerGlobalHistogramBinarizer两种模式解析 需要注意部分二维码如果不带logo,使用PureBarcode模式会解析失败,此时须设置此选项为false
    static String
    decode(Image image, Map<com.google.zxing.DecodeHintType,Object> hints)
    将二维码或条形码图片解码为文本 此方法会尝试使用HybridBinarizerGlobalHistogramBinarizer两种模式解析 需要注意部分二维码如果不带logo,使用PureBarcode模式会解析失败,此时须设置此选项为false
    static String
    decode(File qrCodeFile)
    将二维码或条形码图片解码为文本
    static String
    decode(InputStream qrCodeInputstream)
    解码二维码或条形码图片为文本
    static com.google.zxing.common.BitMatrix
    encode(String content, int width, int height)
    将文本内容编码为二维码
    static com.google.zxing.common.BitMatrix
    encode(String content, com.google.zxing.BarcodeFormat format, int width, int height)
    将文本内容编码为条形码或二维码
    static com.google.zxing.common.BitMatrix
    encode(String content, com.google.zxing.BarcodeFormat format, QrConfig config)
    将文本内容编码为条形码或二维码
    static com.google.zxing.common.BitMatrix
    encode(String content, QrConfig config)
    将文本内容编码为二维码
    generate(String content, int width, int height)
    生成二维码图片
    static File
    generate(String content, int width, int height, File targetFile)
    生成二维码到文件,二维码图片格式取决于文件的扩展名
    static void
    generate(String content, int width, int height, String imageType, OutputStream out)
    生成二维码到输出流
    generate(String content, com.google.zxing.BarcodeFormat format, int width, int height)
    生成二维码或条形码图片
    generate(String content, com.google.zxing.BarcodeFormat format, QrConfig config)
    生成二维码或条形码图片 只有二维码时QrConfig中的图片才有效
    generate(String content, QrConfig config)
    生成二维码图片
    static File
    generate(String content, QrConfig config, File targetFile)
    生成二维码到文件,二维码图片格式取决于文件的扩展名
    static String
    generate(String content, QrConfig qrConfig, String imageType)
    生成 Base64 编码格式的二维码,以 String 形式表示
    static String
    generate(String content, QrConfig qrConfig, String imageType, byte[] logo)
    生成代 logo 图片的 Base64 编码格式的二维码,以 String 形式表示
    static void
    generate(String content, QrConfig config, String imageType, OutputStream out)
    生成二维码到输出流
    static String
    generate(String content, QrConfig qrConfig, String imageType, String logoBase64)
    生成代 logo 图片的 Base64 编码格式的二维码,以 String 形式表示
    static byte[]
    generatePng(String content, int width, int height)
    生成PNG格式的二维码图片,以byte[]形式表示
    static byte[]
    generatePng(String content, QrConfig config)
    生成PNG格式的二维码图片,以byte[]形式表示
    toImage(com.google.zxing.common.BitMatrix matrix, int foreColor, Integer backColor)
    BitMatrix转BufferedImage

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • QrCodeKit

      public QrCodeKit()
  • Method Details

    • generate

      public static String generate(String content, QrConfig qrConfig, String imageType, String logoBase64)
      生成代 logo 图片的 Base64 编码格式的二维码,以 String 形式表示
      Parameters:
      content - 内容
      qrConfig - 二维码配置,包括长、宽、边距、颜色等
      imageType - 图片类型(图片扩展名)
      logoBase64 - logo 图片的 base64 编码
      Returns:
      图片 Base64 编码字符串
    • generate

      public static String generate(String content, QrConfig qrConfig, String imageType, byte[] logo)
      生成代 logo 图片的 Base64 编码格式的二维码,以 String 形式表示
      Parameters:
      content - 内容
      qrConfig - 二维码配置,包括长、宽、边距、颜色等
      imageType - 图片类型(图片扩展名)
      logo - logo 图片的byte[]
      Returns:
      图片 Base64 编码字符串
    • generate

      public static String generate(String content, QrConfig qrConfig, String imageType)
      生成 Base64 编码格式的二维码,以 String 形式表示
      Parameters:
      content - 内容
      qrConfig - 二维码配置,包括长、宽、边距、颜色等
      imageType - 图片类型(图片扩展名)
      Returns:
      图片 Base64 编码字符串
    • generatePng

      public static byte[] generatePng(String content, int width, int height)
      生成PNG格式的二维码图片,以byte[]形式表示
      Parameters:
      content - 内容
      width - 宽度
      height - 高度
      Returns:
      图片的byte[]
    • generatePng

      public static byte[] generatePng(String content, QrConfig config)
      生成PNG格式的二维码图片,以byte[]形式表示
      Parameters:
      content - 内容
      config - 二维码配置,包括长、宽、边距、颜色等
      Returns:
      图片的byte[]
    • generate

      public static File generate(String content, int width, int height, File targetFile)
      生成二维码到文件,二维码图片格式取决于文件的扩展名
      Parameters:
      content - 文本内容
      width - 宽度
      height - 高度
      targetFile - 目标文件,扩展名决定输出格式
      Returns:
      目标文件
    • generate

      public static File generate(String content, QrConfig config, File targetFile)
      生成二维码到文件,二维码图片格式取决于文件的扩展名
      Parameters:
      content - 文本内容
      config - 二维码配置,包括长、宽、边距、颜色等
      targetFile - 目标文件,扩展名决定输出格式
      Returns:
      目标文件
    • generate

      public static void generate(String content, int width, int height, String imageType, OutputStream out)
      生成二维码到输出流
      Parameters:
      content - 文本内容
      width - 宽度
      height - 高度
      imageType - 图片类型(图片扩展名),见ImageKit
      out - 目标流
    • generate

      public static void generate(String content, QrConfig config, String imageType, OutputStream out)
      生成二维码到输出流
      Parameters:
      content - 文本内容
      config - 二维码配置,包括长、宽、边距、颜色等
      imageType - 图片类型(图片扩展名),见ImageKit
      out - 目标流
    • generate

      public static BufferedImage generate(String content, int width, int height)
      生成二维码图片
      Parameters:
      content - 文本内容
      width - 宽度
      height - 高度
      Returns:
      二维码图片(黑白)
    • generate

      public static BufferedImage generate(String content, com.google.zxing.BarcodeFormat format, int width, int height)
      生成二维码或条形码图片
      Parameters:
      content - 文本内容
      format - 格式,可选二维码或者条形码
      width - 宽度
      height - 高度
      Returns:
      二维码图片(黑白)
    • generate

      public static BufferedImage generate(String content, QrConfig config)
      生成二维码图片
      Parameters:
      content - 文本内容
      config - 二维码配置,包括长、宽、边距、颜色等
      Returns:
      二维码图片(黑白)
    • generate

      public static BufferedImage generate(String content, com.google.zxing.BarcodeFormat format, QrConfig config)
      生成二维码或条形码图片 只有二维码时QrConfig中的图片才有效
      Parameters:
      content - 文本内容
      format - 格式,可选二维码、条形码等
      config - 二维码配置,包括长、宽、边距、颜色等
      Returns:
      二维码图片(黑白)
    • encode

      public static com.google.zxing.common.BitMatrix encode(String content, int width, int height)
      将文本内容编码为二维码
      Parameters:
      content - 文本内容
      width - 宽度
      height - 高度
      Returns:
      BitMatrix
    • encode

      public static com.google.zxing.common.BitMatrix encode(String content, QrConfig config)
      将文本内容编码为二维码
      Parameters:
      content - 文本内容
      config - 二维码配置,包括长、宽、边距、颜色等
      Returns:
      BitMatrix
    • encode

      public static com.google.zxing.common.BitMatrix encode(String content, com.google.zxing.BarcodeFormat format, int width, int height)
      将文本内容编码为条形码或二维码
      Parameters:
      content - 文本内容
      format - 格式枚举
      width - 宽度
      height - 高度
      Returns:
      BitMatrix
    • encode

      public static com.google.zxing.common.BitMatrix encode(String content, com.google.zxing.BarcodeFormat format, QrConfig config)
      将文本内容编码为条形码或二维码
      Parameters:
      content - 文本内容
      format - 格式枚举
      config - 二维码配置,包括长、宽、边距、颜色等
      Returns:
      BitMatrix
    • decode

      public static String decode(InputStream qrCodeInputstream)
      解码二维码或条形码图片为文本
      Parameters:
      qrCodeInputstream - 二维码输入流
      Returns:
      解码文本
    • decode

      public static String decode(File qrCodeFile)
      将二维码或条形码图片解码为文本
      Parameters:
      qrCodeFile - 二维码文件
      Returns:
      解码文本
    • decode

      public static String decode(Image image)
      将二维码或条形码图片解码为文本
      Parameters:
      image - Image 二维码图片
      Returns:
      解码后的文本
    • decode

      public static String decode(Image image, boolean isTryHarder, boolean isPureBarcode)
      将二维码或条形码图片解码为文本 此方法会尝试使用HybridBinarizerGlobalHistogramBinarizer两种模式解析 需要注意部分二维码如果不带logo,使用PureBarcode模式会解析失败,此时须设置此选项为false
      Parameters:
      image - Image 二维码图片
      isTryHarder - 是否优化精度
      isPureBarcode - 是否使用复杂模式,扫描带logo的二维码设为true
      Returns:
      解码后的文本
    • decode

      public static String decode(Image image, Map<com.google.zxing.DecodeHintType,Object> hints)
      将二维码或条形码图片解码为文本 此方法会尝试使用HybridBinarizerGlobalHistogramBinarizer两种模式解析 需要注意部分二维码如果不带logo,使用PureBarcode模式会解析失败,此时须设置此选项为false
      Parameters:
      image - Image 二维码图片
      hints - 自定义扫码配置,包括算法、编码、复杂模式等
      Returns:
      解码后的文本
    • toImage

      public static BufferedImage toImage(com.google.zxing.common.BitMatrix matrix, int foreColor, Integer backColor)
      BitMatrix转BufferedImage
      Parameters:
      matrix - BitMatrix
      foreColor - 前景色
      backColor - 背景色
      Returns:
      BufferedImage