Intermec打印机中的DP命令问题

时间:2016-11-18 10:31:12

标签: java android printing intermec

我正在使用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位数时,它不会打印标签,也不会抛出任何异常。

1 个答案:

答案 0 :(得分:0)

Code 128 C需要偶数个数字。这是规范的一部分。如果必须打印奇数个数字,则需要使用不同的符号系统,例如代码128 B(密度较低,为fwiw)。