Как установить значение переменных для метки при печати на принтере zebra с помощью sdk на android
как можно распечатать предварительно сделанную метку (сделанную с помощью 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 ответов
вам нужно посмотреть на вывод из Zebra Label Designer, чтобы получить переменные, а затем подключить их через sdk
проверка документации, которая поставляется с ZEBRALINK SDK, имеет кучу хороших примеров о том, как печатать сохраненные форматы. Вот один из примеров. В этом примере переменной "First Name" является число 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();
}