示例#1
0
 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);
             }
         }
     }
 }
示例#2
0
        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))));
        }
示例#3
0
        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);
            }
        }
示例#4
0
        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;
        }
示例#5
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]);
        }