首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Barcode4j -在EAN13条形码中生成检查数字

Barcode4j -在EAN13条形码中生成检查数字
EN

Stack Overflow用户
提问于 2016-07-08 06:53:52
回答 2查看 2.4K关注 0票数 2

例如,当yo生成一个以Barcode4j为图像的条形码时,您也可以获得可读的文本:

EAN13条码示例

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

在本例中,条形码是用代码100000001202生成的,数字6是Barcode4j生成器添加的检查数字。

因此,我的问题是:是否有可能获得EAN13生成的条形码的Barcode4j校验数字?因为我知道如何将它呈现为图像,但我不知道如何获得人类可读的文本,即纯文本。

致以敬意,

米格尔。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-15 07:11:08

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

代码语言:javascript
运行
复制
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值。

票数 2
EN

Stack Overflow用户

发布于 2022-09-25 15:08:14

在不导入java库的情况下,如果要计算检查数字,请看下面的代码:

代码语言:javascript
运行
复制
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;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38260601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档