例如,当yo生成一个以Barcode4j为图像的条形码时,您也可以获得可读的文本:
EAN13条码示例
在这张图片中,我们可以看到人类可读的文本是:1000000012026
在本例中,条形码是用代码100000001202生成的,数字6是Barcode4j生成器添加的检查数字。
因此,我的问题是:是否有可能获得EAN13生成的条形码的Barcode4j校验数字?因为我知道如何将它呈现为图像,但我不知道如何获得人类可读的文本,即纯文本。
致以敬意,
米格尔。
发布于 2016-07-15 07:11:08
感谢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
的类。这是您需要的类,因为您可以在其中找到计算checkSum的方法。因此,您只需调用给出代码(100000001202), 的calcChecksum方法,并将给出checkSum值(6)。
您可以在下一个网站:http://www.gs1.org/check-digit-calculator中查看它。
添加代码和checkSum值将为您提供所需的checkSum值。
发布于 2022-09-25 15:08:14
在不导入java库的情况下,如果要计算检查数字,请看下面的代码:
public static String ean13CheckDigit(String barcode) {
int s = 0;
for (int i = 0; i < 12; i++) {
int c = Character.getNumericValue(barcode.charAt(i));
s += c * ( i%2 == 0? 1: 3);
}
s = (10 - s % 10) % 10;
barcode += s;
return barcode;
}
https://stackoverflow.com/questions/38260601
复制相似问题