using System.Runtime.Serialization; using System.Text.Json.Serialization; using ESCPOS_NET.Emitters; public class BarcodeInstruction : BaseInstruction { [JsonConverter(typeof(JsonStringEnumConverter))] public BarcodeType barcodeType { get; set; } = BarcodeType.CODE128; [DataMember(IsRequired = true)] public string? barcode { get; set; } [JsonConverter(typeof(JsonStringEnumConverter))] public BarcodeCode barcodeCode { get; set; } = BarcodeCode.CODE_B; [JsonConverter(typeof(JsonStringEnumConverter))] public BarWidth width { get; set; } = BarWidth.Default; public int height { get; set; } = 0; public override List GetInstructions() { var e = new EPSON(); var commands = new List(); if (width != BarWidth.Default) { commands.Add(e.SetBarWidth(width)); } if (height > 0) { commands.Add(e.SetBarcodeHeightInDots(height)); } commands.Add(e.PrintBarcode(barcodeType, barcode, barcodeCode)); if (width != BarWidth.Default) { commands.Add(e.SetBarWidth(BarWidth.Default)); } if (height > 0) { commands.Add(e.SetBarcodeHeightInDots(0)); } return commands; } }