Как установить значение переменных для этикетки при печати на принтере Zebra с помощью SDK на Android - PullRequest
8 голосов
/ 11 октября 2011

Как можно распечатать предварительно изготовленную этикетку (созданную с помощью Zeba Label Designer), которая содержит переменные, и установить эти переменные перед печатью.

У меня есть следующий код, но я не уверен, как установить переменную (например, у меня есть QR-код на этикетке, которую я разработал, и я хотел бы установить ее данные перед печатью).

TcpPrinterConnection zebraPrinterConnection = new TcpPrinterConnection("192.168.1.100", TcpPrinterConnection.DEFAULT_ZPL_TCP_PORT);
 try {
     ZebraPrinter printer = ZebraPrinterFactory.getInstance(zebraPrinterConnection);
     printer.getFileUtil().sendFileContents("/sdcard/documents/labels/sample.lbl");
     zebraPrinterConnection.close();
 } catch (ZebraPrinterConnectionException e) {
     e.printStackTrace();
 } catch (ZebraPrinterLanguageUnknownException e) {
     e.printStackTrace();
 } catch (ZebraIllegalArgumentException e) {
     e.printStackTrace();
 }

1 Ответ

6 голосов
/ 11 октября 2011

Вам нужно посмотреть на выходные данные Zebra Label Designer, чтобы получить ваши переменные, а затем подключить их через sdk

Изучите документацию, поставляемую с ZebraLink SDK, в ней есть несколько хороших примеровкак распечатать сохраненные форматы.Вот один из примеров.В этом примере переменная «Имя» - это номер 12. Переменная «Фамилия» - это номер 11.

 ^XA
 ^DFE:FORMAT.ZPL
 ^FS
 ^FT26,243^A0N,56,55^FH\^FN12"First Name"^FS
 ^FT26,296^A0N,56,55^FH\^FN11"Last Name"^FS
 ^FT258,73^A0N,39,38^FH\^FDVisitor^FS
 ^BY2,4^FT403,376^B7N,4,0,2,2,N^FH^FDSerial Number^FS
 ^FO5,17^GB601,379,8^FS
 ^XZ

 TcpPrinterConnection zebraPrinterConnection = new TcpPrinterConnection("192.168.1.32", TcpPrinterConnection.DEFAULT_ZPL_TCP_PORT);
 try {
     zebraPrinterConnection.open();
     ZebraPrinter printer = ZebraPrinterFactory.getInstance(zebraPrinterConnection);
     Map<Integer, String> vars = new HashMap<Integer, String>();
     vars.put(12, "John");
     vars.put(11, "Smith");
     printer.getFormatUtil().printStoredFormat("E:FORMAT.ZPL", vars);
     zebraPrinterConnection.close();
 } catch (ZebraPrinterConnectionException e) {
     e.printStackTrace();
 } catch (ZebraPrinterLanguageUnknownException e) {
     e.printStackTrace();
 }
...