public void TestPrint() { BO23SlipModel testBO23 = new BO23SlipModel( "XXXXXX XXXXX", "XXXX", "XX-XXX-XXX", DateTime.Now.ToString("dd/MM/yyyy"), DateTime.Now.ToString("HH:mm:ss.fff"), 99, "XX-XXXX", "XXXXXXXXXXX", 888, 777, "XXXXXXXXXXX"); this.Print(testBO23); }
public void Print(BO23SlipModel bo23) { _printInfo = bo23; string logText; try { if (!_objAPI.IsValid) { if (_objAPI.OpenMonPrinter(OpenType.TYPE_PRINTER, this.PRINTER_NAME) != ErrorCode.SUCCESS) { logText = "ผิดพลาด! ไม่สามารถเปิดตัวติดตามสถานะเครื่องพิมพ์ได้" + Environment.NewLine + printStatus.ToString(); log.AppendText(logText); System.Diagnostics.Debug.WriteLine(logText); return; } } isFinish = false; cancelErr = false; isTimeout = false; if (_objAPI.SetStatusBack() == ErrorCode.SUCCESS) { using (PrintDocument pdPrint = new PrintDocument()) { PrintController pc = new StandardPrintController(); pdPrint.PrintController = pc; pdPrint.PrintPage += new PrintPageEventHandler(pdPrint_PrintPage); pdPrint.PrinterSettings.PrinterName = this.PRINTER_NAME; if (pdPrint.PrinterSettings.IsValid) { pdPrint.DocumentName = "SLIP"; pdPrint.Print(); Stopwatch sw = new Stopwatch(); sw.Start(); do { if (isFinish) { _objAPI.CancelStatusBack(); } if (sw.ElapsedMilliseconds > 5000) { isFinish = true; isTimeout = true; } } while (!isFinish); sw.Stop(); if (isTimeout) { ForceResetPrinter(); } else { LogStatusMessage(); //if ((printStatus & ASB.ASB_PAPER_END) == ASB.ASB_PAPER_END) CancelPrintJob(); if (cancelErr) { _objAPI.CancelError(); } } } else { logText = "ผิดพลาด! เครื่องพิมพ์ไม่เชื่อมต่อ"; log.AppendText(logText); System.Diagnostics.Debug.WriteLine(logText); } } } else { logText = "ผิดพลาด! ไม่สามารถตั้งฟังก์ชันเรียกกลับสถานะเครื่องพิมพ์"; log.AppendText(logText); System.Diagnostics.Debug.WriteLine(logText); } } catch (Exception ex) { logText = ex.Message; log.AppendText(logText); System.Diagnostics.Debug.WriteLine(logText); } }