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(); }
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(); }
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); }
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); }
private void _constructor() { _serialPort = new SerialPort(_serialPortName, _serialBaudRate); _serialPort.Open(); printer = new ThermalPrinter(_serialPort, 2, 180, 1); printer.PictureLineSleepTimeMs = 1; //TODO reading printer config }
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"); }
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); }
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); } }
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); }
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" }); }
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(); }
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(); }
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(); }
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(); }
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); }
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); }
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(); }
//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); }
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(); }
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(); }