53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| 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<byte[]> GetInstructions()
 | |
| 	{
 | |
| 		var commands = new List<byte[]>();
 | |
| 
 | |
| 		// 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;
 | |
| 	}
 | |
| }
 |