我正在使用Intermec Direct Protocol为打印机提供打印命令。它包含文本和条形码。
对于12位数的数字,打印按预期工作。 但是,当我尝试打印数字在13到18之间的数字时,它不会给出任何输出。任何例外都不会被抛出。
这是完美运行的命令。 " BARSET"这里有一个长度为20的数字
INPUT ON: CLIP ON: CLIP BARCODE ON:
. CLL:
. PP23,1184: AN7:
. PP23,1184: AN7:
. PP23,1184: AN7:
. DIR1: NASC 1252:
. FT 'Swiss 721 BT':
. FONTSIZE 8: FONTSLANT 0:
. FONTSIZE 36: PP104,330
. BARSET 'CODE128C',2,1,4,305: PB CHR$(128);\”00100280283000550596\":
. PF1\r\n
但是,当我将BARSET的长度更改为包含13位数的数字时,输出完全没有。
INPUT ON: CLIP ON: CLIP BARCODE ON:
. CLL:
. PP23,1184: AN7:
. DIR1: NASC 1252:
. FT 'Swiss 721 BT':
. FONTSIZE 8: FONTSLANT 0:
. FONTSIZE 36: PP104,330:
. BARSET 'CODE128C',2,1,4,305: PB CHR$(128);\”1234567891234\":
. PF1\r\n
首先将此字符串变量转换为字节数组。这个字节数组被赋予OutputStream,后者又打印标签。
一切正常,除非BARSET,但当给定值为13到18位数时,它不会打印标签,也不会抛出任何异常。
答案 0 :(得分:0)
Code 128 C需要偶数个数字。这是规范的一部分。如果必须打印奇数个数字,则需要使用不同的符号系统,例如代码128 B(密度较低,为fwiw)。