首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用EAN128为多组AI和数据生成Barcode4j代码的问题

使用EAN128为多组AI和数据生成Barcode4j代码的问题
EN

Stack Overflow用户
提问于 2015-06-23 07:35:25
回答 2查看 1.6K关注 0票数 3

我使用barcode4j生成EAN128条形码。我需要生成的条形码包含多组应用程序标识符和数据,例如:

代码语言:javascript
运行
复制
(410)000061000034(412)000001101593

410412的数据长度都是13 characters。我使用add校验和模式,因此正如您在上面的示例中所看到的,我只打算提供12个字符作为每个AI的数据,并期望计算和自动附加一个校验和数字。

但是,通过使用下面的代码,它不会为我生成正确的代码:

代码语言:javascript
运行
复制
    dpi = 200;
    // barcode
    objEAN128Bean.setModuleWidth(0.21);
    objEAN128Bean.setHeight(15);
    // objEAN128Bean.setWideFactor(3);
    objEAN128Bean.doQuietZone(true);
    objEAN128Bean.setQuietZone(2);
    // human-readable
    objEAN128Bean.setFontName("Helvetica");
    objEAN128Bean.setFontSize(3);
    // checksum
    objEAN128Bean.setChecksumMode(objCheckSum.CP_ADD);
    BitmapCanvasProvider canvas = new BitmapCanvasProvider(out,
                "image/jpeg", dpi, BufferedImage.TYPE_BYTE_BINARY, true, 0);
    objEAN128Bean.generateBarcode(canvas, "410000061000034412000001101593");
    canvas.finish();

看起来,barcode4j不知道第一个AI (410)的数据在哪里结束,因此不能正确地识别第二组AI和数据。

我发现有一种方法可以通过使用XML方法指定如下内容:

代码语言:javascript
运行
复制
<template>(410)n12+cd1(412)n12+cd1</template>

我只是想知道是否有人知道使用Java方法的解决方案?

任何帮助和启示将是非常感谢的!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-24 10:53:36

也许这个答案太迟了,但我只是把模板添加到objEAN128Bean中就解决了

代码语言:javascript
运行
复制
objEAN128Bean.setTemplate("(415)n13+(8020)n18+(3902)n10+cd");

它将正确地绑定字符串。

票数 2
EN

Stack Overflow用户

发布于 2016-04-20 09:39:49

我不知道它是否与您相关,但是在Jasper的barcode4j组件中,您可以使用\u00f1字符启动一个新的应用程序标识符。

代码语言:javascript
运行
复制
"97XXX\u00f1916213514687"

它会给你一个条形码

代码语言:javascript
运行
复制
(97) XXX (91) 6213514687
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30996583

复制
相关文章

相似问题

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