Swift - ZPL, печать выполняется правильно при первой печати, когда принтер включен, но неправильно после каждой печати? - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь отправить два задания на печать на принтер. Я пытаюсь напечатать этикетку в правильной ориентации, а затем с помощью ^ POI напечатать ее в обратном порядке. Это работает, когда принтер был сначала включен, но затем при каждой печати после первого он печатает 2 этикетки в одинаковой ориентации, почти игнорируя ^ POI.

Мой ZPL (zplData):

^XA
^LL600
^LS0
^BY2,2,59
^LH0,0
^FT100,400^BQN,2,10^FD##\(attendee!.id)^FS
^A0N,50,50^FO350,240^FD\(name)^FS
^A0N,40,40^FO350,290^FD\(attendee!.company)^FS
^XZ

(zplDataFlip):

^XA
^POI
^LL600
^LS0
^BY2,2,59
^LH0,0
^FT100,400^BQN,2,10^FD##\(attendee!.id)^FS
^A0N,50,50^FO350,240^FD\(name)^FS
^A0N,40,40^FO350,290^FD\(attendee!.company)^FS
^XZ

Свифт для отправки задания на принтер:

if success! {

  thePrinterConn?.write(zplData.data(using: String.Encoding.utf8), error: errorPtr)

  thePrinterConn?.write(zplDataFlip.data(using: String.Encoding.utf8), error: errorPtr)

}

1 Ответ

0 голосов
/ 19 ноября 2018

Разобрался. Принтер сохраняет ориентацию печати после использования ^ POa, поэтому вам нужно каждый раз определять, какую ориентацию вы хотите.

Мой ZPL (zplData):

^XA
^PON
^LL600
^LS0
^BY2,2,59
^LH0,0
^FT100,400^BQN,2,10^FD##\(attendee!.id)^FS
^A0N,50,50^FO350,240^FD\(name)^FS
^A0N,40,40^FO350,290^FD\(attendee!.company)^FS
^XZ

(zplDataFlip):

^XA
^POI
^LL600
^LS0
^BY2,2,59
^LH0,0
^FT100,400^BQN,2,10^FD##\(attendee!.id)^FS
^A0N,50,50^FO350,240^FD\(name)^FS
^A0N,40,40^FO350,290^FD\(attendee!.company)^FS
^XZ
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...