/// <summary> /// Метод выполняет печать информации на метке /// </summary> private async void Print() { if (_client == null || !_client.IsConnected) { MessageBox.Show("Нет установленного соединения с шиной RFID"); return; } try { //кодировщик var encoder = new EpcSgtin96Encoder(CompanyPrefix, ProductId, StartSerial); //баркод var barcode = new Code128BarCodeElement(5, 35, 45, 5, codeFontSize: 14) { Value = CompanyPrefix.ToString(CultureInfo.InvariantCulture) + ProductId }; for (var i = 0; i < TagsCount; i++) { var label = new RfidPrintLabel { Width = 50, Height = 50 }; //текстовый элемент epc var epcElement = new TextElement(5, 20, 45, 25, "Arial", 35, BaseTools.GetStringFromBinary(encoder.Epc)); label.Elements.Add(epcElement); label.Elements.Add(barcode); if (IsWriteEpcData) { //элемент записи rfid данных var writeEpcElement = new WriteDataLabelElement(encoder.Epc, retries: 1); label.Elements.Add(writeEpcElement); } var printResult = await _client.SendRequestAsync(new EnqueuePrintLabelTask(SelectedPrinter.Id, label)); if (printResult.Status != ResponseStatus.Ok) { MessageBox.Show(String.Format("Не удалось добавить задачу в очередь на печать. Код статуса: {0}", printResult.Status)); } encoder++; } } catch (Exception ex) { MessageBox.Show(String.Format("Не удалось добавить задачу на печать. Описание: {0}", ex.Message)); } }