public override void DoPrint(string[] lines) { foreach (var line in lines) { var data = line.Contains("<") ? line.Split('<').Where(x => !string.IsNullOrEmpty(x)).Select(x => '<' + x) : line.Split('#'); data = PrinterHelper.AlignLines(data, Printer.CharsPerLine, false); data = PrinterHelper.ReplaceChars(data, Printer.ReplacementPattern); foreach (var s in data) { if (s.Trim().ToLower() == "<w>") { System.Threading.Thread.Sleep(100); } else if (s.ToLower().StartsWith("<lb")) { SerialPortService.WritePort(Printer.ShareName, RemoveTag(s) + "\n\r"); } else if (s.ToLower().StartsWith("<xct")) { var lineData = s.ToLower().Replace("<xct", "").Trim(new[] { ' ', '<', '>' }); SerialPortService.WriteCommand(Printer.ShareName, lineData, Printer.CodePage); } else { SerialPortService.WritePort(Printer.ShareName, RemoveTag(s), Printer.CodePage); } } } }
public override void DoPrint(string[] lines) { var q = AppServices.PrintService.GetPrinter(Printer.ShareName); lines = PrinterHelper.AlignLines(lines, Printer.CharsPerLine, false).ToArray(); var text = lines.Aggregate("", (current, s) => current + RemoveTag(s.Replace("|", "")) + "\r\n"); PrintFlowDocument(q, new FlowDocument(new Paragraph(new Run(text)))); }
public override void DoPrint(string[] lines) { Debug.Assert(!string.IsNullOrEmpty(Printer.ShareName)); lines = PrinterHelper.AlignLines(lines, Printer.CharsPerLine, false).ToArray(); lines = PrinterHelper.ReplaceChars(lines, Printer.ReplacementPattern).ToArray(); var text = lines.Aggregate("", (current, s) => current + RemoveTagFmt(s)); if (!IsValidFile(Printer.ShareName) || !SaveToFile(Printer.ShareName, text)) { SendToNotepad(Printer, text); } }
public override void DoPrint(string[] lines) { lines = PrinterHelper.AlignLines(lines, Printer.CharsPerLine, true).ToArray(); lines = PrinterHelper.ReplaceChars(lines, Printer.ReplacementPattern).ToArray(); var printer = new LinePrinter(Printer.ShareName, Printer.CharsPerLine, Printer.CodePage); printer.StartDocument(); foreach (var s in lines) { SendToPrinter(printer, s); } if (lines.Length >= 2) { printer.Cut(); } printer.EndDocument(); _lastHeight = 0; _lastWidth = 0; }
public void ColumnAlignmentTest() { var list = new List <string>(); list.Add("<J00>- 1 Şırdan Tuzlama| 8,00| 8,00"); list.Add("<J00>- 1 Ayak Paça| 8,00| 8,00"); list.Add("<J00>- 1 Kelle Paça| 15,00| 15,00"); list.Add("<J00>- 7 İşkembe| 6,50| 45,50"); list.Add("<J00>- 1 İşkembe Tuzlama| 8,00| 8,00"); list.Add("HELLO"); list.Add("<J00>12 | 12 | 12| 8,00"); list.Add("<J00>12 | 12 | 12| 18,00"); var result = PrinterHelper.AlignLines(list, 42, false).ToList(); Assert.AreEqual("- 1 Şırdan Tuzlama 8,00 8,00", result[0]); Assert.AreEqual("- 1 Ayak Paça 8,00 8,00", result[1]); Assert.AreEqual("- 1 Kelle Paça 15,00 15,00", result[2]); Assert.AreEqual("- 7 İşkembe 6,50 45,50", result[3]); Assert.AreEqual("- 1 İşkembe Tuzlama 8,00 8,00", result[4]); Assert.AreEqual("12 12 12 8,00", result[6]); Assert.AreEqual("12 12 12 18,00", result[7]); }