Я создал программу этикеток, используя C# и Zebra SDK. Это прекрасно работает, за исключением случаев, когда пользователь решает, что он напечатал неправильные этикетки, и выключает принтер. Когда принтер снова включается, он проходит быструю калибровку (думаю, именно это он и делает), а затем индикатор становится сплошным зеленым. Когда они снова пытаются печатать, одна этикетка печатается правильно, а затем две пустые этикетки «печатаются», а индикатор состояния меняется на мигающий красный свет. Чтобы вернуть принтер в рабочее состояние, его необходимо перекалибровать, и я использую команду ZPL ~JC
.
Мы использовали программное обеспечение ZebraDesigner для печати этикеток, и у принтера никогда не было проблем с выключением, повторным включением и последующей печатью в обычном режиме. Я захватил данные, которые печатаются из этого программного обеспечения, и добавил ZPL в свой код, но это не помогает принтеру восстанавливаться, когда принтер выключен. Я не знаю, действительно ли программное обеспечение ZebraDesigner отправляет несколько наборов команд, и я фиксирую только последний набор или нет.
На другом форуме мне было предложено, что в принтере могут быть некоторые старые данные ZPL из последнего задания на печать, и их необходимо очистить. Последнее, что я пробовал, это добавить команду мягкого сброса ~JR
в свой код, но это не помогло. Я также пытался очистить что-либо в буфере с помощью ~JA
без каких-либо результатов.
Вот мой исходный код ZPL, и он не включает ZPL, который я захватил из ZebraDesigner, потому что это не помогло. Я несколько раз просматривал руководство ZPL, и мне просто не повезло выяснить, что мне не хватает, что не позволяет принтеру восстановиться без калибровки.
Все слова в {} заменяются фактическими значениями при импорте в мою программу.
^XA
^PW330
^FO 0,65
^FB 350,1,0,C,0
^A0N 25, 25
^FD{COMPANYNAME}^FS
^FO 0,90
^FB 350,0,0,C,0
^A0N 28, 28
^FD {PRICE} {COLOR} ^FS
^FO 0,120
^FB 350,1,0,C,0
^A0N 25, 25
^FD {TYPE} ^FS
^FX FO 0,215
^BY2
^FT85, 215
^BCN,60,Y,N,N
^FD>9{BARCODE}^FS
^PQ{QTY}
^XZ
После дополнительных испытаний я нашел команду. Это ^MNY
Я нашел его, запустив файл, сгенерированный Настройка параметров принтера в Утилиты настройки зебры. Я запустил этот ZPL с моим ZPL, и это решило проблему. Затем я сузил код, пока не нашел команду, которая позволяла принтеру продолжать работать после выключения. Я видел эту команду в руководстве по ZPL и думал, что пробовал, но, возможно, я что-то напутал.