[英]Issue with generating EAN128 code using Barcode4j for multiple sets of AI and data
我正在使用barcode4j生成EAN128條形碼。 我需要生成的條形碼包含多組應用程序標識符和數據,例如:
(410)000061000034(412)000001101593
410
和412
的數據長度為13 characters
。 我正在使用添加校驗和模式,因此您可以在上面的示例中看到我只打算提供12個字符作為每個AI的數據,並且期望校驗和數字將被計算並自動附加。
但是,通過使用下面的代碼,它不會為我生成正確的代碼:
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方法來實現:
<template>(410)n12+cd1(412)n12+cd1</template>
我只是想知道是否有人通過使用Java bean方法知道解決方案?
任何幫助和光線將非常感謝!
也許這個答案為時已晚,但我只是通過將模板添加到objEAN128Bean來解決它:
objEAN128Bean.setTemplate("(415)n13+(8020)n18+(3902)n10+cd");
它會正確綁定字符串。
我不知道它是否與您相關,但在Jasper報告的barcode4j組件中,您可以使用\ñ
字符啟動一個新的應用程序標識符。
"97XXX\u00f1916213514687"
它會給你一個像這樣的條形碼
(97) XXX (91) 6213514687
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.