Java 使用条形码4J为多组AI和数据生成EAN128代码时出现问题

Java 使用条形码4J为多组AI和数据生成EAN128代码时出现问题,java,barcode4j,Java,Barcode4j,我正在使用条形码4J生成EAN128条形码。 我需要生成的条形码包含多组应用程序标识符和数据,例如: (410)000061000034(412)000001101593 410和412的数据长度均为13个字符。 我使用的是addchecksum模式,正如您在上面的示例中所看到的,我只打算为每个AI提供12个字符作为数据,并希望计算出一个校验和数字并自动追加 但是,通过使用以下代码,它不会为我生成正确的代码: dpi = 200; // barcode objEAN12

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

(410)000061000034(412)000001101593
410
412
的数据长度均为
13个字符。
我使用的是addchecksum模式,正如您在上面的示例中所看到的,我只打算为每个AI提供12个字符作为数据,并希望计算出一个校验和数字并自动追加

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

    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();
看起来条形码4j不知道第一组AI(410)
的数据在哪里结束,因此无法正确识别第二组AI和数据

我发现有一种方法可以做到这一点,即使用XML方法指定如下内容:

<template>(410)n12+cd1(412)n12+cd1</template>
(410)n12+cd1(412)n12+cd1
我只是想知道是否有人知道使用JavaBean方法的解决方案


任何帮助和帮助都将不胜感激

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

"97XXX\u00f1916213514687"
它会给你一个像

(97) XXX (91) 6213514687

也许现在回答这个问题已经太迟了,但我只是通过将模板添加到对象128bean中解决了这个问题:

objEAN128Bean.setTemplate("(415)n13+(8020)n18+(3902)n10+cd");

它会把绳子绑好。

谢谢!我现在读的其他文档也有意义!