using Inspectron.Epson.PrintServer.Printers.Utils; using Inspectron.Epson.PrintServer.PrintServices; namespace Inspectron.Epson.PrintServer.Printers; public class TM_U220IITranslated : IPrinter { private readonly IEpsonPrinter _printer; public TM_U220IITranslated(IEpsonPrinter printer) { _printer = printer; } public async Task InitAsync() { await _printer.InitAsync(); await Task.Delay(200); } public Task PrintImageAsync(string path) { return Task.CompletedTask; } public async Task SetFontSizeAsync(int fontSize) { //await _printer.SetBiggerFontTM220(fontSize == 2); //await Task.Delay(200); //await _printer.SelectFont(EpsonCommands.PrinterFont.A); //await Task.Delay(200); } public async Task PrintAsync(List commands) { foreach (var command in commands) { if (command.IsCut) { await _printer.CutAsync(false); await Task.Delay(200); continue; } await _printer.SetBiggerFontTM220(command.IsBig, command.IsTall | command.IsBig); await Task.Delay(200); await _printer.SetRedColor(command.IsRed); await Task.Delay(200); await _printer.SetEmphasized(command.IsBold); await Task.Delay(200); await _printer.PrintTextAsync(command.Text + "\n"); await Task.Delay(200); } await _printer.FeedLinesAsync(10); await Task.Delay(1000); } public async Task Cut() { await _printer.CutAsync(); await Task.Delay(200); } }