Nepxion Zxing

Nepxion Zxing is a QR code generator based on google zxing framework

License

License

Categories

Categories

ZXing Data Data Formats Image Processing
GroupId

GroupId

com.nepxion
ArtifactId

ArtifactId

zxing
Last Version

Last Version

1.1.1
Release Date

Release Date

Type

Type

jar
Description

Description

Nepxion Zxing
Nepxion Zxing is a QR code generator based on google zxing framework
Project URL

Project URL

http://www.nepxion.com
Project Organization

Project Organization

Nepxion
Source Code Management

Source Code Management

https://github.com/Nepxion/Zxing

Download zxing

How to add to project

<!-- https://jarcasting.com/artifacts/com.nepxion/zxing/ -->
<dependency>
    <groupId>com.nepxion</groupId>
    <artifactId>zxing</artifactId>
    <version>1.1.1</version>
</dependency>
// https://jarcasting.com/artifacts/com.nepxion/zxing/
implementation 'com.nepxion:zxing:1.1.1'
// https://jarcasting.com/artifacts/com.nepxion/zxing/
implementation ("com.nepxion:zxing:1.1.1")
'com.nepxion:zxing:jar:1.1.1'
<dependency org="com.nepxion" name="zxing" rev="1.1.1">
  <artifact name="zxing" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.nepxion', module='zxing', version='1.1.1')
)
libraryDependencies += "com.nepxion" % "zxing" % "1.1.1"
[com.nepxion/zxing "1.1.1"]

Dependencies

compile (6)

Group / Artifact Type Version
com.nepxion : banner jar 1.0.2
org.apache.commons : commons-lang3 jar 3.6
org.apache.commons : commons-collections4 jar 4.1
commons-io : commons-io jar 2.5
com.google.zxing : core jar 3.4.0
com.google.zxing : javase jar 3.4.0

Project Modules

There are no modules declared in this project.

Nepxion Zxing

Total lines License Maven Central Javadocs Build Status Codacy Badge Stars Stars

Nepxion Zxing是一款基于Google Zxing的二维码/条形码生成组件。支持二维码/条形码创建和扫描,支持创建本地图片和字节数组两种格式

请联系我

微信和公众号

简介

/**
 * 相关参数说明
 * text              二维码/条形码内容。二维码可以是文字,也可以是URL,条形码必须是数字
 * format            二维码/条形码图片格式,例如jpg,png
 * encoding          二维码/条形码内容编码,例如UTF-8
 * correctionLevel   二维码/条形码容错等级,例如ErrorCorrectionLevel.H(30%纠正率),ErrorCorrectionLevel.Q(25%纠正率),ErrorCorrectionLevel.M(15%纠正率),ErrorCorrectionLevel.L(7%纠正率)。纠正率越高,扫描速度越慢
 * width             二维码/条形码图片宽度
 * height            二维码/条形码图片高度
 * margin            二维码/条形码图片白边大小,取值范围0~4
 * foregroundColor   二维码/条形码图片前景色。格式如0xFF000000
 * backgroundColor   二维码/条形码图片背景色。格式如0xFFFFFFFF
 * deleteWhiteBorder 二维码图片白边去除。当图片面积较小时候,可以利用该方法扩大二维码/条形码的显示面积
 * logoFile          二维码Logo图片的文件,File对象。显示在二维码中间的Logo图片,其在二维码中的尺寸最大为100x100左右,否则会覆盖二维码导致最后不能被识别
 * outputFile        二维码/条形码图片的导出文件,File对象
 */

依赖

<dependency>
  <groupId>com.nepxion</groupId>
  <artifactId>zxing</artifactId>
  <version>${zxing.version}</version>
</dependency>

示例

创建二维码图片并扫描的调用入口

public static void executeForQRFile() {
    // 二维码内容
    String text = "https://github.com/Nepxion/";
    // 二维码图片导出路径
    File file = new File("E:/二维码.jpg");

    // 二维码参数的构造对象,很多参数赋予了默认值,可自行通过set方法更改
    ZxingEntity entity = new ZxingEntity();
    entity.setBarcodeFormat(BarcodeFormat.QR_CODE);
    entity.setLogoFile(new File("src/test/resources/logo.png"));
    entity.setText(text);
    entity.setOutputFile(file);
    entity.setWidth(300);
    entity.setHeight(300);

    // 以文件格式读取并导出,该方式适合本地调用
    ZxingEncoder encoder = new ZxingEncoder();
    encoder.encodeForFile(entity);

    // 以文件格式扫描并解析
    ZxingDecoder decoder = new ZxingDecoder();
    Result result = decoder.decodeByFile(file, entity.getEncoding());

    System.out.println("扫描结果 - [Text] : " + result.getText() + " [Timestamp] : " + result.getTimestamp() + " [BarcodeFormat] : " + result.getBarcodeFormat() + " [NumBits] : " + result.getNumBits());
}

创建二维码图片字节数组(用于网络传递)并扫描的调用入口

public static void executeForQRBytes() throws IOException {
    // 二维码内容
    String text = "https://github.com/Nepxion/";
    // 二维码图片导出路径
    File file = new File("E:/二维码.jpg");

    // 二维码参数的构造对象,很多参数赋予了默认值,可自行通过set方法更改
    ZxingEntity entity = new ZxingEntity();
    entity.setBarcodeFormat(BarcodeFormat.QR_CODE);
    entity.setLogoFile(new File("src/test/resources/logo.png"));
    entity.setText(text);
    entity.setOutputFile(file);
    entity.setWidth(300);
    entity.setHeight(300);

    // 以字节数组格式读取并导出,该方式适合服务端传输给客户端调用
    ZxingEncoder encoder = new ZxingEncoder();
    byte[] bytes = encoder.encodeForBytes(entity);

    ZxingUtils.createFile(bytes, file);

    // 以字节数组格式扫描并解析
    ZxingDecoder decoder = new ZxingDecoder();
    Result result = decoder.decodeByBytes(bytes, entity.getEncoding());

    System.out.println("扫描结果 - [Text] : " + result.getText() + " [Timestamp] : " + result.getTimestamp() + " [BarcodeFormat] : " + result.getBarcodeFormat() + " [NumBits] : " + result.getNumBits());
}

创建条形码图片并扫描的调用入口

public static void executeForEANFile() {
    // 条形码内容
    String text = "6943620593115";
    // 条形码图片导出路径
    File file = new File("E:/条形码.jpg");

    // 条形码参数的构造对象,很多参数赋予了默认值,可自行通过set方法更改
    ZxingEntity entity = new ZxingEntity();
    entity.setBarcodeFormat(BarcodeFormat.EAN_13);
    entity.setText(text);
    entity.setOutputFile(file);
    entity.setWidth(560);
    entity.setHeight(200);

    // 以文件格式读取并导出,该方式适合本地调用
    ZxingEncoder encoder = new ZxingEncoder();
    encoder.encodeForFile(entity);

    // 以文件格式扫描并解析
    ZxingDecoder decoder = new ZxingDecoder();
    Result result = decoder.decodeByFile(file, entity.getEncoding());

    System.out.println("扫描结果 - [Text] : " + result.getText() + " [Timestamp] : " + result.getTimestamp() + " [BarcodeFormat] : " + result.getBarcodeFormat() + " [NumBits] : " + result.getNumBits());
}

创建条形码图片字节数组(用于网络传递)并扫描的调用入口

public static void executeForEANBytes() throws IOException {
    // 条形码内容
    String text = "6943620593115";
    // 条形码图片导出路径
    File file = new File("E:/条形码.jpg");

    // 条形码参数的构造对象,很多参数赋予了默认值,可自行通过set方法更改
    ZxingEntity entity = new ZxingEntity();
    entity.setBarcodeFormat(BarcodeFormat.EAN_13);
    entity.setText(text);
    entity.setOutputFile(file);
    entity.setWidth(560);
    entity.setHeight(200);

    // 以字节数组格式读取并导出,该方式适合服务端传输给客户端调用
    ZxingEncoder encoder = new ZxingEncoder();
    byte[] bytes = encoder.encodeForBytes(entity);

    ZxingUtils.createFile(bytes, file);

    // 以字节数组格式扫描并解析
    ZxingDecoder decoder = new ZxingDecoder();
    Result result = decoder.decodeByBytes(bytes, entity.getEncoding());

    System.out.println("扫描结果 - [Text] : " + result.getText() + " [Timestamp] : " + result.getTimestamp() + " [BarcodeFormat] : " + result.getBarcodeFormat() + " [NumBits] : " + result.getNumBits());
}

运行结果

二维码示例图片

条形码示例图片

Star走势图

Stargazers over time

com.nepxion

Nepxion

基于 Spring & Spring Boot & Spring Cloud 框架,依托和集成 阿里巴巴中间件 和 Spring Cloud Alibaba 等技术栈,企业级云原生微服务的开源解决方案。微信 : 1394997

Versions

Version
1.1.1
1.1.0
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0