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 Alignment alignment {get; set; } = Alignment.Left; [JsonConverter(typeof(JsonStringEnumConverter))] public BarLabelPrintPosition labelPos {get; set; } = BarLabelPrintPosition.Below; // [JsonConverter(typeof(JsonStringEnumConverter))] // public BarWidth width { get; set; } = BarWidth.Default; public int height { get; set; } = 0; public override List GetInstructions() { var commands = new List(); // if (width != BarWidth.Default) // { // commands.Add(e.SetBarWidth(width)); // } commands.Add(alignmentCommand(alignment)); if (labelPos != BarLabelPrintPosition.Below){ commands.Add(e.SetBarLabelPosition(labelPos)); } if (height > 0) { commands.Add(e.SetBarcodeHeightInDots(height)); } commands.Add(e.PrintBarcode(barcodeType, barcode, barcodeCode)); return commands; } }