2

当您使用 Barcode4j 作为图像生成条形码时,您也可以获得人类可读的文本,例如:

EAN13 条码示例

在这张图片中我们可以看到人类可读的文本是:1000000012026

在此示例中,已使用代码100000001202生成条形码,数字6是 Barcode4j 生成器添加的校验位。

所以,我的问题是:是否可以使用 Barcode4j 获得 EAN13 生成的条形码的校验位?因为我知道如何将其渲染为图像,但我不知道如何获取人类可读的文本,即纯文本。

问候,

米格尔。

4

1 回答 1

2

感谢 Barcode4j 插件,您可以使用所需的条形码格式计算校验和。在 Java 7 中,您可以这样计算 checkSum:

private String calculateCodeWithcheckSum(String codigo){
   EAN13Bean generator = new EAN13Bean();
   UPCEANLogicImpl impl = generator.createLogicImpl();
   codigo += impl.calcChecksum(codigo);
   return codigo;
}

首先,您需要EAN13条形码格式,因此您可以获取插件提供给您的类,并调用其唯一方法:createLogicImpl().

这个方法用来给你一个类型的类UPCEANLogicImpl。这是您需要的类,因为您可以在其中找到计算校验和的方法。因此,您只需要调用方法 calcChecksum 并给出您的代码(100000001202),然后就会给出 checkSum 值(6)。

您可以在下一个网站上查看:http ://www.gs1.org/check-digit-calculator

添加您的代码和 checkSum 值将为您提供所需的值(1000000012026

于 2016-07-15T07:11:08.207 回答