Beispiel #1
0
        static void Main(string[] args)
        {
            //Parity parity = new Parity();
            //parity = 'o';

            PrintDocument print = new PrintDocument();

            SerialPort port = new SerialPort("COM19", 115200);

            port.Open();
            while (true)
            {
                ThermalPrinter printer = new ThermalPrinter(port, 80, 110, 1);
                printer.WakeUp();

                testBarcode(printer);
                //testPrinter(printer);
                //printer.CutPaper();
                String s = Console.ReadLine();
                if (s.Equals("exit"))
                {
                    break;
                }
            }
            port.Close();
        }
Beispiel #2
0
        static void testBarcode(ThermalPrinter printer)
        {
            ThermalPrinter.BarcodeType myType = ThermalPrinter.BarcodeType.ean13;
            printer.Reset();
            DateTime timePrint = DateTime.Now;
            int      year      = timePrint.Year;
            int      month     = timePrint.Month;
            int      day       = timePrint.Day;
            int      hours     = timePrint.Hour;
            int      minutes   = timePrint.Minute;
            int      second    = timePrint.Second;

            String myData = ("" + year + "" + month + "" + day + "" + hours + "" + minutes + "" + second + "");

            //String myData = String.Format("33500301033{0:D2}", incNumber++);

            printer.WriteLine(myType.ToString() + ", data: " + myData);
            System.Threading.Thread.Sleep(50);
            printer.SetLargeBarcode(true);
            printer.LineFeed();
            System.Threading.Thread.Sleep(50);
            printer.PrintBarcode(myType, myData);
            printer.SetLargeBarcode(false);
            System.Threading.Thread.Sleep(50);
            printer.LineFeed();
            printer.PrintBarcode(myType, myData);
            printer.LineFeed();
            printer.LineFeed();
            System.Threading.Thread.Sleep(50);
            printer.LineFeed();
            System.Threading.Thread.Sleep(50);
            printer.CutPaper();
        }
Beispiel #3
0
        private void btnSetPrinter_Click(object sender, EventArgs e)
        {
            String portSerial = settingModel.comPortPrinter;
            int    baudRate   = settingModel.baudRatePrinter;


            SerialPort portprinter = connectPortPrinter(portSerial, baudRate);

            ThermalPrinter printer = connectPrinter(portprinter);

            System.Threading.Thread.Sleep(50);
            printer.Reset();
            printer.LineFeed();
            printer.WriteLine("I'm ready");
            printer.LineFeed();
            printer.LineFeed();
            System.Threading.Thread.Sleep(50);
            printer.LineFeed();
            System.Threading.Thread.Sleep(50);

            printer.CutPaper();


            closeConnectionPortPrinter(portprinter);
        }
Beispiel #4
0
        private string Print()
        {
            ThermalPrinter printer = MainClass.printerHandler.printer;
            string         result  = "0";
            string         line;

            if (_postParameters.Get("text") != null)
            {
                line = _postParameters.GetValues("text")[0];
                if (!MainClass.printerHandler.isPrinting && !(line == null || line == ""))
                {
                    MainClass.printerHandler.Reset();
                    MainClass.printerHandler.isPrinting = true;
                    line = line.Replace("\\n", "\n");
                    printer.WriteLine(line);
                    printer.LineFeed();
                    printer.LineFeed();
                    printer.LineFeed();
                    MainClass.printerHandler.isPrinting = false;
                    result     = "1";
                    StatusCode = 200;
                }
            }

            //Response
            XmlNode rootNode = _xmlResponse.CreateElement("response");

            rootNode.AppendChild(_nodify("DateTime", DateTime.UtcNow.ToUniversalTime().ToString()));
            rootNode.AppendChild(_nodify("Method", _context.Request.HttpMethod));
            rootNode.AppendChild(_nodify("Result", result));
            _xmlResponse.AppendChild(rootNode);
            return(_xmlResponse.InnerXml);
        }
Beispiel #5
0
 private void _constructor()
 {
     _serialPort = new SerialPort(_serialPortName, _serialBaudRate);
     _serialPort.Open();
     printer = new ThermalPrinter(_serialPort, 2, 180, 1);
     printer.PictureLineSleepTimeMs = 1;
     //TODO reading printer config
 }
Beispiel #6
0
        static void TestReceipt(ThermalPrinter printer)
        {
            Dictionary <string, int> ItemList = new Dictionary <string, int>(100);

            printer.SetLineSpacing(0);
            printer.SetAlignCenter();
            printer.WriteLine("MY SHOP",
                              (byte)ThermalPrinter.PrintingStyle.DoubleHeight
                              + (byte)ThermalPrinter.PrintingStyle.DoubleWidth);
            printer.WriteLine("My address, CITY");
            printer.LineFeed();
            printer.LineFeed();

            ItemList.Add("Item #1", 8990);
            ItemList.Add("Item #2 goes here", 2000);
            ItemList.Add("Item #3", 1490);
            ItemList.Add("Item number four", 490);
            ItemList.Add("Item #5 is cheap", 245);
            ItemList.Add("Item #6", 2990);
            ItemList.Add("The seventh item", 790);

            int total = 0;

            foreach (KeyValuePair <string, int> item in ItemList)
            {
                CashRegister(printer, item.Key, item.Value);
                total += item.Value;
            }

            printer.HorizontalLine(32);

            double dTotal = Convert.ToDouble(total) / 100;
            double VAT    = 10.0;

            printer.WriteLine(String.Format("{0:0.00}", (dTotal)).PadLeft(32));

            printer.WriteLine("VAT 10,0%" + String.Format("{0:0.00}", (dTotal * VAT / 100)).PadLeft(23));

            printer.WriteLine(String.Format("$ {0:0.00}", dTotal * VAT / 100 + dTotal).PadLeft(16),
                              ThermalPrinter.PrintingStyle.DoubleWidth);

            printer.LineFeed();

            printer.WriteLine("CASH" + String.Format("{0:0.00}", (double)total / 100).PadLeft(28));
            printer.LineFeed();
            printer.LineFeed();
            printer.SetAlignCenter();
            printer.WriteLine("Have a good day.", ThermalPrinter.PrintingStyle.Bold);

            printer.LineFeed();
            printer.SetAlignLeft();
            printer.WriteLine("Seller : Bob");
            printer.WriteLine("09-28-2011 10:53 02331 509");
            printer.LineFeed();
            printer.LineFeed();
            printer.LineFeed();
        }
        static void TestImage(ThermalPrinter printer)
        {
            printer.WriteLine("Test image:");
            Bitmap img = new Bitmap("../../../mono-logo.png");

            printer.LineFeed();
            printer.PrintImage(img);
            printer.LineFeed();
            printer.WriteLine("Image OK");
        }
Beispiel #8
0
        static void TestBarcode(ThermalPrinter printer)
        {
            ThermalPrinter.BarcodeType myType = ThermalPrinter.BarcodeType.ean13;
            string myData = "3350030103392";

            printer.WriteLine(myType.ToString() + ", data: " + myData);
            printer.SetLargeBarcode(true);
            printer.LineFeed();
            printer.PrintBarcode(myType, myData);
            printer.SetLargeBarcode(false);
            printer.LineFeed();
            printer.PrintBarcode(myType, myData);
        }
Beispiel #9
0
 public override void Start()
 {
     Log.Add(LogLevel.Info, "Printer", "Opening port to printer");
     try
     {
         _port.Open();
         _printer = new ThermalPrinter(_port);
         _printer.Reset();
     }
     catch (Exception ex)
     {
         Log.AddException("Printer", ex);
     }
 }
Beispiel #10
0
        public static void Main()
        {
            ThermalPrinter Printer = new ThermalPrinter();

            Printer.OnStatusChange += new NativeEventHandler(Printer_OnStatusChange);

            // Use this to make the prints of better quality
            // It will slow down the printer, and perhaps shorten the lifespan of the printer too
            Printer.HeatingTime     = 255;
            Printer.HeatingInterval = 255;

            // Font demo
            Printer.SmallText     = true; Printer.PrintLine("Small text"); Printer.SmallText = false;
            Printer.Inverted      = true; Printer.PrintLine("Inverted text"); Printer.Inverted = false;
            Printer.UpsideDown    = true; Printer.PrintLine("Upside down"); Printer.UpsideDown = false;
            Printer.DoubleHeight  = true; Printer.PrintLine("Doubled text height"); Printer.DoubleHeight = false;
            Printer.DoubleWidth   = true; Printer.PrintLine("Doubled text width"); Printer.DoubleWidth = false;
            Printer.StrikeThrough = true; Printer.PrintLine("Striked through text"); Printer.StrikeThrough = false;
            Printer.PrintLine("Normal text");

            // Alignment demo
            Printer.SetAlignment(ThermalPrinter.Alignment.AlignRight); Printer.PrintLine("Right aligned");
            Printer.SetAlignment(ThermalPrinter.Alignment.AlignCenter); Printer.PrintLine("Centered");
            Printer.SetAlignment(ThermalPrinter.Alignment.AlignLeft); Printer.PrintLine("Left aligned");

            // Spacing demo
            Printer.SetLeftSpacing(8); Printer.PrintLine("8 spaces at the left");
            Printer.SetLeftSpacing(4); Printer.PrintLine("4 spaces at the left");
            Printer.SetLeftSpacing(0); Printer.PrintLine("0 spaces at the left");
            Printer.SetLineSpacing(50); Printer.PrintLine("Line spacing: 50");
            Printer.SetLineSpacing(40); Printer.PrintLine("Line spacing: 40");
            Printer.SetLineSpacing(30); Printer.PrintLine("Line spacing: 30");

            // Barcode demo
            Printer.PrintLine("UPC_A:"); Printer.PrintBarcode("858115002002", ThermalPrinter.BarCodeSystem.UPC_A);
            Printer.PrintLine("EAN13:"); Printer.PrintBarcode("9781449302450", ThermalPrinter.BarCodeSystem.EAN13);
            Printer.PrintLine("CODE128:"); Printer.PrintBarcode("netduino.com", ThermalPrinter.BarCodeSystem.CODE128, 2);

            // QR Code
            Printer.PrintLine("QR Code:");
            Printer.PrintBitmap(Bitmaps.http___www_netduino_com__qrcode.Width, Bitmaps.http___www_netduino_com__qrcode.Height, Bitmaps.http___www_netduino_com__qrcode.Data);

            // Bitmap demo
            Printer.PrintLine("Bitmap demo:");
            Printer.PrintBitmap(Bitmaps.netduino_bmp.Width, Bitmaps.netduino_bmp.Height, Bitmaps.netduino_bmp.Data);

            // Feeds so all demos are visible
            Printer.LineFeed(2);
        }
Beispiel #11
0
        public ActionResult <IEnumerable <string> > Get()
        {
            var printerPort = new SerialPort("/dev/ttyAMA0", 19200);

            printerPort.Open();
            var printer = new ThermalPrinter(printerPort);

            printer.WakeUp();
            printer.WriteLine("TESTE DE IMPRESSÃO");
            printer.LineFeed();
            printer.Sleep();
            printerPort.Close();

            return(new string[] { "value1", "value2" });
        }
Beispiel #12
0
        public static void PrinterTest(string printText)
        {
            Debug.Print("Setting up the printer!");
            ThermalPrinter Printer = new ThermalPrinter();

            Debug.Print("Printer is set up!");
            // Use this to make the prints of better quality
            // It will slow down the printer, and perhaps shorten the lifespan of the printer too
            //Printer.HeatingTime = 255;
            //Printer.HeatingInterval = 255;

            // Font demo
            Printer.PrintLine(printText);
            Printer.LineFeed(3);

            Printer.Dispose();
        }
Beispiel #13
0
        public static void PrintPoem(string poem)
        {
            ThermalPrinter Printer = new ThermalPrinter();

            foreach (string myString in poem.Split('\n'))
            {
                Printer.PrintLine(myString);
            }

            Printer.PrintLine("@kulturBOT");
            Printer.LineFeed(1);
            Printer.PrintLine("Algorithmic poem derived");
            Printer.PrintLine("from David Thompson's");
            Printer.PrintLine("narrative, 1770-1857.");
            //Printer.Print(DateTime.UtcNow.ToString());
            Printer.LineFeed(4);
            //Printer.Dispose();
        }
        //        public static void Main(string[] args)
        //        {
        //            string printerPortName = "/dev/tty.usbserial-A600dP3F";
        //
        //            //Serial port init
        //            SerialPort printerPort = new SerialPort(printerPortName, 9600);
        //
        //            if (printerPort != null)
        //            {
        //                Console.WriteLine("Port ok");
        //                if (printerPort.IsOpen)
        //                {
        //                    printerPort.Close();
        //                }
        //            }
        //
        //            Console.WriteLine("Opening port");
        //
        //            try
        //            {
        //                printerPort.Open();
        //            }
        //            catch
        //            {
        //                Console.WriteLine("I/O error");
        //                Environment.Exit(0);
        //            }
        //
        //            //Printer init
        //            ThermalPrinter printer = new ThermalPrinter(printerPort, 2, 180, 2);
        //            printer.WakeUp();
        //            Console.WriteLine(printer.ToString());
        //
        //            TestReceipt(printer);
        //
        //            //System.Threading.Thread.Sleep(5000);
        //            //printer.SetBarcodeLeftSpace(25);
        //            //TestBarcode(printer);
        //
        //            //System.Threading.Thread.Sleep(5000);
        //            //TestImage(printer);
        //
        //            //System.Threading.Thread.Sleep(5000);
        //
        //            printer.WriteLineSleepTimeMs = 200;
        //            printer.WriteLine("Default style");
        //            printer.WriteLine("PrintingStyle.Bold", ThermalPrinter.PrintingStyle.Bold);
        //            printer.WriteLine("PrintingStyle.DeleteLine", ThermalPrinter.PrintingStyle.DeleteLine);
        //            printer.WriteLine("PrintingStyle.DoubleHeight", ThermalPrinter.PrintingStyle.DoubleHeight);
        //            printer.WriteLine("PrintingStyle.DoubleWidth", ThermalPrinter.PrintingStyle.DoubleWidth);
        //            printer.WriteLine("PrintingStyle.Reverse", ThermalPrinter.PrintingStyle.Reverse);
        //            printer.WriteLine("PrintingStyle.Underline", ThermalPrinter.PrintingStyle.Underline);
        //            printer.WriteLine("PrintingStyle.Updown", ThermalPrinter.PrintingStyle.Updown);
        //            printer.WriteLine("PrintingStyle.ThickUnderline", ThermalPrinter.PrintingStyle.ThickUnderline);
        //            printer.SetAlignCenter();
        //            printer.WriteLine("BIG TEXT!", ((byte)ThermalPrinter.PrintingStyle.Bold +
        //                (byte)ThermalPrinter.PrintingStyle.DoubleHeight +
        //                (byte)ThermalPrinter.PrintingStyle.DoubleWidth));
        //            printer.SetAlignLeft();
        //            printer.WriteLine("Default style again");
        //
        //            printer.LineFeed(3);
        //            printer.Sleep();
        //            Console.WriteLine("Printer is now offline.");
        //            printerPort.Close();
        //        }

        static void CashRegister(ThermalPrinter printer, string item, int price)
        {
            printer.Reset();
            printer.Indent(0);

            if (item.Length > 24)
            {
                item = item.Substring(0, 23) + ".";
            }

            printer.WriteToBuffer(item.ToUpper());
            printer.Indent(25);
            string sPrice = String.Format("{0:0.00}", (double)price / 100);

            sPrice = sPrice.PadLeft(7);

            printer.WriteLine(sPrice);
            printer.Reset();
        }
Beispiel #15
0
 static void testPrinter(ThermalPrinter printer)
 {
     printer.LineFeed();
     printer.LineFeed();
     printer.LineFeed();
     printer.WriteLine("Palang Parkir", ThermalPrinter.PrintingStyle.Bold);
     printer.WriteLine("PrintingStyle.DoubleHeight", ThermalPrinter.PrintingStyle.DoubleHeight);
     printer.LineFeed();
     printer.WriteLine("PrintingStyle.DoubleWidth", ThermalPrinter.PrintingStyle.DoubleWidth);
     printer.LineFeed();
     printer.WriteLine("PrintingStyle.Reverse", ThermalPrinter.PrintingStyle.Reverse);
     printer.LineFeed();
     printer.SetAlignLeft();
     printer.LineFeed();
     printer.SetAlignCenter();
     printer.WriteLine("PrintingStyle.Reverse", ThermalPrinter.PrintingStyle.Reverse);
     printer.WriteLine("PrintingStyle.Reverse", ThermalPrinter.PrintingStyle.Reverse);
     printer.LineFeed();
     printer.LineFeed();
     printer.LineFeed();
 }
Beispiel #16
0
        public static void PrinterTest()
        {
            Debug.Print("Setting up the printer!");
            ThermalPrinter Printer = new ThermalPrinter();

            Debug.Print("Printer is set up!");
            // Use this to make the prints of better quality
            // It will slow down the printer, and perhaps shorten the lifespan of the printer too
            //Printer.HeatingTime = 255;
            //Printer.HeatingInterval = 255;

            // Font demo
            Printer.PrintLine("Hello I am kulturBOT.");
            //Printer.PrintLine("I like to write poems and make peoples day.");
            //Printer.PrintLine("What do you think of me?");
            Printer.PrintLine("@kulturBOT");
            Printer.LineFeed(1);
            Printer.Print(DateTime.UtcNow.ToString());
            Printer.LineFeed(3);

            //Printer.Dispose();
        }
Beispiel #17
0
        private static void ShowItems(ThermalPrinter printer, Reciept reciept)
        {
            foreach (Item item in reciept.getItems())
            {
                printer.Reset();

                // .PadLeft(Math.Abs(item.ItemName.Length - 30));
                string output = item.Quantity.PadRight(2) + " " + item.Size.PadRight(5) + " " + item.Sugar.PadRight(2) + " " + item.ItemName.Trim() + " " +
                                (item.Price.Trim() + ".SR").PadLeft(Math.Abs(item.ItemName.Length - 29));
                printer.WriteLine(output);

                if (item.Components.Trim().Length > 3)
                {
                    printer.WriteLine(item.Components.Trim());
                }

                if (item.Additionals.Trim().Length > 3)
                {
                    printer.WriteLine(item.Additionals.Trim());
                }

                printer.Reset();
            }
        }
        private void btnBarcode_Click(object sender, EventArgs e)
        {
            String portSerial = settingView.cmbPortController.SelectedItem.ToString();
            int    baudRate   = Convert.ToInt32(settingView.cmbBaudRatePrinter.SelectedItem.ToString());


            SerialPort portprinter = settingView.connectPortPrinter(portSerial, baudRate);

            ThermalPrinter printer = settingView.connectPrinter(portprinter);

            ThermalPrinter.BarcodeType myType = ThermalPrinter.BarcodeType.ean13;

            printer.Reset();

            DateTime timePrint = DateTime.Now;

            int year    = timePrint.Year;
            int month   = timePrint.Month;
            int day     = timePrint.Day;
            int hours   = timePrint.Hour;
            int minutes = timePrint.Minute;
            int second  = timePrint.Second;

            String myData = ("" + year + "" + month + "" + day + "" + hours + "" + minutes + "" + second + "");

            printer.SetAlignCenter();
            printer.WriteLine("Palang Parkir", (byte)ThermalPrinter.PrintingStyle.DoubleHeight
                              + (byte)ThermalPrinter.PrintingStyle.DoubleWidth);
            System.Threading.Thread.Sleep(50);
            printer.LineFeed();
            System.Threading.Thread.Sleep(50);
            printer.SetAlignLeft();
            printer.SetAlignCenter();
            printer.WriteLine(timePrint.ToString());
            System.Threading.Thread.Sleep(50);
            printer.WriteLine("ID : " + myData);
            System.Threading.Thread.Sleep(50);
            printer.SetLargeBarcode(true);
            System.Threading.Thread.Sleep(150);
            printer.LineFeed();
            System.Threading.Thread.Sleep(500);

            printer.PrintBarcode(myType, myData);
            printer.LineFeed();
            System.Threading.Thread.Sleep(50);
            printer.WriteLine("Jl Cimanggis Elok No 1");
            printer.LineFeed();
            System.Threading.Thread.Sleep(150);
            printer.LineFeed();
            System.Threading.Thread.Sleep(150);
            printer.CutPaper();

            Kendaraan kendaraan = new Kendaraan();

            kendaraan.barcode    = myData;
            kendaraan.waktuMasuk = DateTime.Now;

            int result = kendaraanDao.Save(kendaraan);

            if (result > 0)
            {
                MessageBox.Show("Data berhasil di Input", "Data berhasil di Input");
            }

            settingView.closeConnectionPortPrinter(portprinter);
        }
Beispiel #19
0
        private string PrintQRCode()
        {
            ThermalPrinter printer = MainClass.printerHandler.printer;
            string         result  = "0";
            string         url;

            if (_postParameters.Get("url") != null)
            {
                url = _postParameters.GetValues("url")[0];
                if (!MainClass.printerHandler.isPrinting && !(url == null || url == ""))
                {
                    MainClass.printerHandler.Reset();
                    MainClass.printerHandler.isPrinting = true;

                    //Prints QR Code
                    printer.PrintImage(new QRHandler(url).GetImage());

                    System.Threading.Thread.Sleep(1000);

                    //Prints URL
                    if (url.StartsWith("http://", true, System.Globalization.CultureInfo.CurrentCulture))
                    {
                        url = url.Substring(7);
                    }
                    if (url.StartsWith("www.", true, System.Globalization.CultureInfo.CurrentCulture))
                    {
                        url = url.Substring(4);
                    }
                    url = url.TrimEnd('/');
                    if (url.Length > 32)
                    {
                        url = url.Substring(0, 29) + "...";
                    }
                    printer.SetLineSpacing(0);
                    printer.LineFeed();
                    printer.SetAlignCenter();

                    if (url.Length > 16)
                    {
                        printer.WriteLine(url);
                    }
                    else
                    {
                        printer.WriteLine(url, ThermalPrinter.PrintingStyle.DoubleWidth);
                    }
                    printer.LineFeed();
                    printer.LineFeed();
                    printer.LineFeed();
                    MainClass.printerHandler.isPrinting = false;

                    result     = "1";
                    StatusCode = 200;
                }
            }

            //Response
            XmlNode rootNode = _xmlResponse.CreateElement("response");

            rootNode.AppendChild(_nodify("DateTime", DateTime.UtcNow.ToUniversalTime().ToString()));
            rootNode.AppendChild(_nodify("Method", _context.Request.HttpMethod));
            rootNode.AppendChild(_nodify("Result", result));
            _xmlResponse.AppendChild(rootNode);
            return(_xmlResponse.InnerXml);
        }
Beispiel #20
0
        public static void Main(string[] args)
        {
            string printerPortName = "/dev/tty.usbserial-A600dP3F";

            //Serial port init
            SerialPort printerPort = new SerialPort(printerPortName, 9600);

            if (printerPort != null)
            {
                Console.WriteLine("Port ok");
                if (printerPort.IsOpen)
                {
                    printerPort.Close();
                }
            }

            Console.WriteLine("Opening port");

            try {
                printerPort.Open();
            } catch {
                Console.WriteLine("I/O error");
                Environment.Exit(0);
            }

            //Printer init
            ThermalPrinter printer = new ThermalPrinter(printerPort, 2, 180, 2);

            printer.WakeUp();
            Console.WriteLine(printer.ToString());

            //TestReceipt(printer);

            //System.Threading.Thread.Sleep(5000);
            //printer.SetBarcodeLeftSpace(25);
            //TestBarcode(printer);

            //System.Threading.Thread.Sleep(5000);
            //TestImage(printer);

            //System.Threading.Thread.Sleep(5000);

            printer.WriteLineSleepTimeMs = 200;
            printer.WriteLine("Default style");
            printer.WriteLine("PrintingStyle.Bold", ThermalPrinter.PrintingStyle.Bold);
            printer.WriteLine("PrintingStyle.DeleteLine", ThermalPrinter.PrintingStyle.DeleteLine);
            printer.WriteLine("PrintingStyle.DoubleHeight", ThermalPrinter.PrintingStyle.DoubleHeight);
            printer.WriteLine("PrintingStyle.DoubleWidth", ThermalPrinter.PrintingStyle.DoubleWidth);
            printer.WriteLine("PrintingStyle.Reverse", ThermalPrinter.PrintingStyle.Reverse);
            printer.WriteLine("PrintingStyle.Underline", ThermalPrinter.PrintingStyle.Underline);
            printer.WriteLine("PrintingStyle.Updown", ThermalPrinter.PrintingStyle.Updown);
            printer.WriteLine("PrintingStyle.ThickUnderline", ThermalPrinter.PrintingStyle.ThickUnderline);
            printer.SetAlignCenter();
            printer.WriteLine("BIG TEXT!", ((byte)ThermalPrinter.PrintingStyle.Bold +
                                            (byte)ThermalPrinter.PrintingStyle.DoubleHeight +
                                            (byte)ThermalPrinter.PrintingStyle.DoubleWidth));
            printer.SetAlignLeft();
            printer.WriteLine("Default style again");

            printer.LineFeed(3);
            printer.Sleep();
            Console.WriteLine("Printer is now offline.");
            printerPort.Close();
        }
Beispiel #21
0
        //Mengeset agar thermal langsung bisa digunakan
        public ThermalPrinter connectPrinter(SerialPort portPrinter)
        {
            ThermalPrinter printer = new ThermalPrinter(portPrinter, 70, 100, 1);

            return(printer);
        }
        public void TestReceipt(ThermalPrinter printer)
        {
            Dictionary <string, int> ItemList = new Dictionary <string, int>(100);

            printer.SetLineSpacing(0);
            printer.SetAlignCenter();
            printer.WriteLine("MY SHOP",
                              (byte)ThermalPrinter.PrintingStyle.DoubleHeight
                              + (byte)ThermalPrinter.PrintingStyle.DoubleWidth);
            printer.WriteLine("My address, CITY");
            printer.LineFeed();
            printer.LineFeed();

            //ItemList.Add("Item #1", 8990);
            //ItemList.Add("Item #2 goes here", 2000);
            //ItemList.Add("Item #3", 1490);
            //ItemList.Add("Item number four", 490);
            //ItemList.Add("Item #5 is cheap", 245);
            //ItemList.Add("Item #6", 2990);
            //ItemList.Add("The seventh item", 790);

            //int total = 0;
            //foreach (KeyValuePair<string, int> item in ItemList)
            //{
            //    CashRegister(printer, item.Key, item.Value);
            //    total += item.Value;
            //}

            //    printer.HorizontalLine(32);

            //    double dTotal = Convert.ToDouble(total) / 100;
            //    double VAT = 10.0;

            //    printer.WriteLine(String.Format("{0:0.00}", (dTotal)).PadLeft(32));

            //    printer.WriteLine("VAT 10,0%" + String.Format("{0:0.00}", (dTotal * VAT / 100)).PadLeft(23));

            //    printer.WriteLine(String.Format("$ {0:0.00}", dTotal * VAT / 100 + dTotal).PadLeft(16),
            //        ThermalPrinter.PrintingStyle.DoubleWidth);

            //    printer.LineFeed();

            //    printer.WriteLine("CASH" + String.Format("{0:0.00}", (double)total / 100).PadLeft(28));
            //    printer.LineFeed();
            //    printer.LineFeed();
            //    printer.SetAlignCenter();
            //    printer.WriteLine("Have a good day.", ThermalPrinter.PrintingStyle.Bold);

            //    printer.LineFeed();
            //    printer.SetAlignLeft();
            //    printer.WriteLine("Seller : Bob");
            //    printer.WriteLine("09-28-2011 10:53 02331 509");
            //    printer.LineFeed();
            //    printer.LineFeed();
            //    printer.LineFeed();
            //}

            //static void TestBarcode(ThermalPrinter printer)
            //{
            //    ThermalPrinter.BarcodeType myType = ThermalPrinter.BarcodeType.ean13;
            //    string myData = "3350030103392";
            //    printer.WriteLine(myType.ToString() + ", data: " + myData);
            //    printer.SetLargeBarcode(true);
            //    printer.LineFeed();
            //    printer.PrintBarcode(myType, myData);
            //    printer.SetLargeBarcode(false);
            //    printer.LineFeed();
            //    printer.PrintBarcode(myType, myData);
        }
Beispiel #23
0
        public static void printBill(DataGridViewRowCollection theLines, double theTotal)
        {
            SerialPort printerPort = new SerialPort("COM4", 19200);

            printerPort.Open();
            ThermalPrinter printer = new ThermalPrinter(printerPort);

            printer.WakeUp();
            printer.WriteToBuffer(setTheChar);
            printer.SetAlignCenter();
            printer.WriteLine("The John Francis Basset");
            printer.WriteLine("TR14 8JZ");
            printer.WriteLine("01209 721720");
            printer.SetAlignLeft();
            printer.LineFeed();
            printer.WriteLine("Till 4");
            string theLine = ("Liam").PadRight(25) + DateTime.Now.ToString("dd MMM yyyy HH:mm").PadLeft(17);

            printer.WriteLine(theLine);
            printer.LineFeed();
            theLine = ("Table: 999").PadRight(25) + ("Acc No: 7653").PadLeft(17);
            printer.WriteLine(theLine);
            printer.LineFeed();

            foreach (DataGridViewRow theRow in theLines)
            {
                if (theRow.Cells["is_mod"].Value.ToString() == "0")
                {
                    MySqlCommand theCommand = new MySqlCommand("SELECT * FROM oap_items WHERE pk_item_id = " + theRow.Cells["item_id"].Value.ToString(), theConnection);
                    theConnection.Open();
                    MySqlDataReader reader = theCommand.ExecuteReader();
                    while (reader.Read())
                    {
                        if (!reader.GetBoolean("item_act_as_text"))
                        {
                            printer.WriteLine(getItemLine(theRow.Cells["item_quant"].Value.ToString(), reader.GetString("item_kitchenname"), false, reader.GetDouble("item_price")));
                        }
                    }
                    theConnection.Close();
                }
                else
                {
                    MySqlCommand theCommand = new MySqlCommand("SELECT * FROM oap_mods WHERE pk_modifier_id = " + theRow.Cells["item_id"].Value.ToString(), theConnection);
                    theConnection.Open();
                    MySqlDataReader reader = theCommand.ExecuteReader();
                    while (reader.Read())
                    {
                        if (reader.GetDouble("modifier_price") != 0)
                        {
                            printer.WriteLine(getItemLine(theRow.Cells["item_quant"].Value.ToString(), reader.GetString("modifier_name"), false, reader.GetDouble("modifier_price")));
                        }
                    }
                    theConnection.Close();
                }
            }

            printer.WriteLine(horizontalLine);
            printer.WriteLine(("Total").PadRight(10) + formatPounds("£" + theTotal.ToString("0.00")).PadLeft(32));
            printer.WriteLine(("EFT").PadRight(10) + formatPounds("-£" + theTotal.ToString("0.00")).PadLeft(32), ThermalPrinter.PrintingStyle.Bold);
            printer.WriteLine("Receipt no. 75/0206");
            printer.WriteLine(horizontalLine);
            printer.SetAlignCenter();
            printer.WriteLine("Account Closed", 32);
            printer.WriteLine(horizontalLine);
            printer.LineFeed();
            printer.WriteLine("Payment Receipt", 32);
            printer.LineFeed();
            printer.SetAlignLeft();
            printer.WriteLine(("EFT").PadRight(10) + formatPounds("£" + theTotal.ToString("0.00")).PadLeft(11), 32);
            printer.WriteLine(("5% VAT FOOD included").PadRight(32) + formatPounds("£0.03").PadLeft(10));
            printer.WriteLine("Receipt no. 75/0206");
            printer.WriteLine("Vat no. 396 331 433");
            printer.LineFeed(2);
            printer.SetAlignCenter();
            printer.WriteLine("THANK YOU FOR VISITING");
            printer.WriteLine("THE JOHN FRANCIS BASSET");
            printer.WriteLine("COMMERCIAL STREET, CAMBORNE, TR14 8JZ");
            printer.WriteLine("PLEASE CALL AGAIN");
            printer.LineFeed(2);
            printer.WriteToBuffer(cutThePaper);
            printer.Sleep();
            printerPort.Close();
        }
Beispiel #24
0
        public static void Main(string[] args)
        {
            if (args.Length <= 0)
            {
                Console.Out.WriteLine("Command Line Error");
                return;
            }

            string  path    = args[0];
            Reciept reciept = getReciept(path);

            string     printerPortName = getPrinterPort();
            SerialPort printerPort     = new SerialPort(printerPortName);

            if (printerPort != null)
            {
                if (printerPort.IsOpen)
                {
                    printerPort.Close();
                }
            }

            try {
                printerPort.Open();
            } catch {
                Console.WriteLine("I/O error");
                Environment.Exit(0);
            }

            //Printer init
            ThermalPrinter printer = new ThermalPrinter(printerPort, 2, 180, 2);

            printer.WakeUp();

            printer.SetLineSpacing(0);
            printer.SetAlignCenter();
            printer.WriteLine("Mango Talaat",
                              (byte)ThermalPrinter.PrintingStyle.Bold +
                              (byte)ThermalPrinter.PrintingStyle.DoubleHeight
                              + (byte)ThermalPrinter.PrintingStyle.DoubleWidth);

            printer.WriteLine("Riyadh, Gadheer Branch");
            printer.Reset();
            printer.LineFeed();

            // show header
            string header = "Qty".PadLeft(2) + " " + "Size".PadLeft(3) + " " + "Sugar".PadLeft(5) + " " + "Item".PadLeft(10) + " " + "Price".PadLeft(15);

            printer.WriteLine(header);
            printer.HorizontalLine(40);

            ShowItems(printer, reciept);

            printer.HorizontalLine(40);

            printer.WriteLine("CASH" + reciept.cash.PadLeft(26));
            printer.WriteLine("Discount" + reciept.discount.PadLeft(22));
            printer.WriteLine("TOTAL" + reciept.total.PadLeft(10), ThermalPrinter.PrintingStyle.DoubleWidth);

            printer.LineFeed();
            printer.SetAlignCenter();
            printer.WriteLine("Have a good day.", ThermalPrinter.PrintingStyle.Bold);

            printer.LineFeed();
            printer.SetAlignLeft();
            printer.WriteLine(DateTime.Now.ToString());
            printer.LineFeed();

            printer.LineFeed(3);
            printer.cutPaper();
            printer.openCashDrawer();
            printer.Sleep();
            Console.WriteLine("Printer is now offline.");
            printerPort.Close();
        }