private void getStatus() { string[] args = new string[] { "-n", datacard.getName() }; CommandLineOptions commandLineOptions = new CommandLineOptions(); CommandLine.Utility.Arguments arguments = new CommandLine.Utility.Arguments(args); if (string.IsNullOrEmpty(arguments["n"])) { Console.WriteLine("Some information"); } bool boolVal = false; if (Boolean.TryParse(arguments["n"], out boolVal)) { Console.WriteLine("Some information"); } commandLineOptions.printerName = arguments["n"]; if (!string.IsNullOrEmpty(arguments["j"])) { commandLineOptions.jobStatus = true; } BidiSplWrap bidiSpl = null; try { bidiSpl = new BidiSplWrap(); bidiSpl.BindDevice(commandLineOptions.printerName); string driverVersionXml = bidiSpl.GetPrinterData(strings.SDK_VERSION); //Console.WriteLine(Environment.NewLine + "driver version: " + Util.ParseDriverVersionXML(driverVersionXml) + Environment.NewLine); string printerOptionsXML = bidiSpl.GetPrinterData(strings.PRINTER_OPTIONS2); PrinterOptionsValues printerOptionsValues = Util.ParsePrinterOptionsXML(printerOptionsXML); DisplayPrinterOptionsValues(printerOptionsValues); string printerCardCountXML = bidiSpl.GetPrinterData(strings.COUNTER_STATUS2); PrinterCounterStatus printerCounterStatusValues = Util.ParsePrinterCounterStatusXML(printerCardCountXML); DisplayPrinterCounterValues(printerCounterStatusValues); string suppliesXML = bidiSpl.GetPrinterData(strings.SUPPLIES_STATUS3); SuppliesValues suppliesValues = Util.ParseSuppliesXML(suppliesXML); DisplaySuppliesValues(suppliesValues); //string printerStatusXML = bidiSpl.GetPrinterData(strings.PRINTER_MESSAGES); //PrinterStatusValues printerStatusValues = Util.ParsePrinterStatusXML(printerStatusXML); //DisplayPrinterStatusValues(printerStatusValues); } catch (Exception e) { Console.WriteLine(e.Message); } finally { bidiSpl.UnbindDevice(); } }
private void readBtn_Click(object sender, EventArgs e) { String printerName = comboBox1.Text; GetPrinterProperties(printerName); ///printing is activated here BidiSplWrap bidiSpl = null; int printerJobID = 0; try { bidiSpl = new BidiSplWrap(); String BindResponse = bidiSpl.BindDevice(printerName); textBox4.Text += Environment.NewLine + BindResponse; string driverVersionXml = bidiSpl.GetPrinterData(strings.SDK_VERSION); textBox4.Text += Environment.NewLine + "driver version: " + Util.ParseDriverVersionXML(driverVersionXml) + Environment.NewLine; string printerOptionsXML = bidiSpl.GetPrinterData(strings.PRINTER_OPTIONS2); PrinterOptionsValues printerOptionsValues = Util.ParsePrinterOptionsXML(printerOptionsXML); if ("Ready" != printerOptionsValues._printerStatus && "Busy" != printerOptionsValues._printerStatus) { throw new Exception(printerName + " is not ready. status: " + printerOptionsValues._printerStatus); } else { string hopperID = string.Empty; printerJobID = Util.StartJob( bidiSpl, false, hopperID); Application.DoEvents(); String[] returnedArray = Util.ReadMagstripe(bidiSpl, false); Application.DoEvents(); textBox1.Text += returnedArray[0]; textBox2.Text += returnedArray[1]; textBox3.Text += returnedArray[2]; textBox4.Text += "Magstripe data read successfully; printer job id: " + printerOptionsValues._printerStatus; } } catch (Exception ee) { } }
private void GetPrinterProperties(String printerName) { BidiSplWrap bidiSpl = null; int printerJobID = 0; try { bidiSpl = new BidiSplWrap(); String BindResponse = bidiSpl.BindDevice(printerName); textBox4.Text += Environment.NewLine + BindResponse; string driverVersionXml = bidiSpl.GetPrinterData(strings.SDK_VERSION); textBox4.Text += Environment.NewLine + "driver version: " + Util.ParseDriverVersionXML(driverVersionXml) + Environment.NewLine; string printerOptionsXML = bidiSpl.GetPrinterData(strings.PRINTER_OPTIONS2); PrinterOptionsValues printerOptionsValues = Util.ParsePrinterOptionsXML(printerOptionsXML); if ("Ready" != printerOptionsValues._printerStatus && "Busy" != printerOptionsValues._printerStatus) { throw new Exception(printerName + " is not ready. status: " + printerOptionsValues._printerStatus); } else { string printerOptionsXMLSupply = bidiSpl.GetPrinterData(strings.SUPPLIES_STATUS3); SuppliesValues printerOptionsSupplyValues = Util.ParseSuppliesXML(printerOptionsXMLSupply); textBox4.Text += Environment.NewLine + "Printer Status: " + printerOptionsValues._printerStatus; textBox4.Text += Environment.NewLine + "Ribbon Type: " + printerOptionsSupplyValues._printRibbonType; textBox4.Text += Environment.NewLine + "Ribbon Serial Number: " + printerOptionsSupplyValues._printRibbonSerialNumber; textBox4.Text += Environment.NewLine + "Ribbon Level: " + printerOptionsSupplyValues._ribbonRemaining + "%"; } } catch (BidiException e) { textBox4.Text += Environment.NewLine + e.Message; Util.CancelJob(bidiSpl, e.PrinterJobID, e.ErrorCode); } catch (Exception e) { textBox4.Text += Environment.NewLine + e.Message; if (0 != printerJobID) { Util.CancelJob(bidiSpl, printerJobID, 0); } } finally { bidiSpl.UnbindDevice(); } }
private void writeBtn_Click(object sender, EventArgs e) { String printerName = comboBox1.Text; GetPrinterProperties(printerName); ///printing is activated here BidiSplWrap bidiSpl = null; int printerJobID = 0; try { bidiSpl = new BidiSplWrap(); String BindResponse = bidiSpl.BindDevice(printerName); textBox4.Text += Environment.NewLine + BindResponse; string driverVersionXml = bidiSpl.GetPrinterData(strings.SDK_VERSION); textBox4.Text += Environment.NewLine + "driver version: " + Util.ParseDriverVersionXML(driverVersionXml) + Environment.NewLine; string printerOptionsXML = bidiSpl.GetPrinterData(strings.PRINTER_OPTIONS2); PrinterOptionsValues printerOptionsValues = Util.ParsePrinterOptionsXML(printerOptionsXML); if ("Ready" != printerOptionsValues._printerStatus && "Busy" != printerOptionsValues._printerStatus) { throw new Exception(printerName + " is not ready. status: " + printerOptionsValues._printerStatus); } else { string hopperID = string.Empty; printerJobID = Util.StartJob( bidiSpl, false, hopperID); Application.DoEvents(); Util.EncodeMagstripe(bidiSpl, false, textBox1.Text, textBox2.Text, textBox3.Text); // tried to cancel job; // if () // { // Util.CancelJob(bidiSpl,printerJobID,0); // } } } catch (Exception ee) { } }
private void DisplayPrinterOptionsValues(PrinterOptionsValues vals) { //datacard.setUniquePrinterNumber(vals._printerSerialNumber); if (vals._lockState.Equals("Locked")) { datacard.setLocked(false); } else { datacard.setLocked(true); } datacard.setStatus(vals._printerStatus); datacard.setPrinterMessageNumber(vals._printerMessageNumber); //Console.WriteLine("Options:"); //Console.WriteLine(" LockState: " + vals._lockState); //Console.WriteLine(" PrinterAddress: " + vals._printerAddress); //Console.WriteLine(" PrinterSerialNumber: " + vals._printerSerialNumber); //Console.WriteLine(" PrinterStatus: " + vals._printerStatus); //Console.WriteLine(" PrinterVersion: " + vals._printerVersion); //Console.WriteLine(); }
private static void DisplayPrinterOptionsValues(PrinterOptionsValues vals) { Console.WriteLine("Options:"); Console.WriteLine(" ColorPrintResolution: " + vals._colorPrintResolution); Console.WriteLine(" ConnectionPortType: " + vals._connectionPortType); Console.WriteLine(" ConnectionProtocol: " + vals._connectionProtocol); Console.WriteLine(" EmbosserVersion: " + vals._embosserVersion); Console.WriteLine(" Laminator: " + vals._laminator); Console.WriteLine(" LaminatorFirmwareVersion: " + vals._laminatorFirmwareVersion); Console.WriteLine(" LaminatorImpresser: " + vals._laminatorImpresser); Console.WriteLine(" LaminatorScanner: " + vals._laminatorScanner); Console.WriteLine(" LockState: " + vals._lockState); Console.WriteLine(" ModuleEmbosser: " + vals._moduleEmbosser); Console.WriteLine(" MonochromePrintResolution: " + vals._monochromePrintResolution); Console.WriteLine(" TopcoatPrintResolution: " + vals._topcoatPrintResolution); Console.WriteLine(" OptionDuplex: " + vals._optionDuplex); Console.WriteLine(" OptionInputhopper: " + vals._optionInputhopper); Console.WriteLine(" OptionLaser: " + vals._optionLaser); Console.WriteLine(" OptionLaserVisionRegistration: " + vals._optionLaserVisionRegistration); Console.WriteLine(" OptionObscureBlackPanel: " + vals._optionObscureBlackPanel); Console.WriteLine(" OptionLocks: " + vals._optionLocks); Console.WriteLine(" OptionMagstripe: " + vals._optionMagstripe); Console.WriteLine(" OptionSecondaryMagstripeJIS: " + vals._optionSecondaryMagstripeJIS); Console.WriteLine(" OptionPrinterBarcodeReader: " + vals._optionPrinterBarcodeReader); Console.WriteLine(" OptionRewrite: " + vals._optionRewrite); Console.WriteLine(" OptionSmartcard: " + vals._optionSmartcard); Console.WriteLine(" PrinterAddress: " + vals._printerAddress); Console.WriteLine(" PrintEngineType: " + vals._printEngineType); Console.WriteLine(" PrinterMessageNumber: " + vals._printerMessageNumber); Console.WriteLine(" PrinterModel: " + vals._printerModel); Console.WriteLine(" PrinterSerialNumber: " + vals._printerSerialNumber); Console.WriteLine(" PrinterStatus: " + vals._printerStatus); Console.WriteLine(" PrinterVersion: " + vals._printerVersion); Console.WriteLine(" PrintHead: " + vals._printHead); Console.WriteLine(); }
private static void CardJobWithStatus( BidiSplWrap bidiSpl, CommandLineOptions commandLineOptions, PrinterOptionsValues printerOptionsValues) { if ("Ready" != printerOptionsValues._printerStatus && "Busy" != printerOptionsValues._printerStatus) { throw new Exception( commandLineOptions.printerName + " is not ready. status: " + printerOptionsValues._printerStatus); } int printerJobID = Util.StartJob( bidiSpl, string.Empty); // hopperID string printerStatusXML = bidiSpl.GetPrinterData(strings.PRINTER_MESSAGES); PrinterStatusValues printerStatusValues = Util.ParsePrinterStatusXML(printerStatusXML); DisplayPrinterStatusValues(printerStatusValues); bidiSpl.SetPrinterData(strings.ENDJOB); Util.PollForJobCompletion(bidiSpl, printerJobID); }
private static void Main(string[] args) { CommandLineOptions commandLineOptions = CommandLineOptions.CreateFromArguments(args); commandLineOptions.Validate(); bool checkHopperStatus = commandLineOptions.hopperID.Length > 0 && commandLineOptions.checkHopper; BidiSplWrap bidiSpl = null; int printerJobID = 0; try { bidiSpl = new BidiSplWrap(); bidiSpl.BindDevice(commandLineOptions.printerName); string driverVersionXml = bidiSpl.GetPrinterData(strings.SDK_VERSION); Console.WriteLine(Environment.NewLine + "driver version: " + Util.ParseDriverVersionXML(driverVersionXml) + Environment.NewLine); string printerOptionsXML = bidiSpl.GetPrinterData(strings.PRINTER_OPTIONS2); PrinterOptionsValues printerOptionsValues = Util.ParsePrinterOptionsXML(printerOptionsXML); if ("Ready" != printerOptionsValues._printerStatus && "Busy" != printerOptionsValues._printerStatus) { throw new Exception(commandLineOptions.printerName + " is not ready. status: " + printerOptionsValues._printerStatus); } if ("Installed" != printerOptionsValues._printHead) { //throw new Exception(commandLineOptions.printerName + " does not have a print head installed."); } if (commandLineOptions.magstripe && !printerOptionsValues._optionMagstripe.Contains("ISO")) { throw new Exception(commandLineOptions.printerName + " does not have an ISO magnetic stripe unit installed."); } if (checkHopperStatus) { string hopperStatus = GetHopperStatus(bidiSpl, commandLineOptions.hopperID); if (String.Compare(hopperStatus, "Empty", StringComparison.OrdinalIgnoreCase) == 0) { throw new Exception("Hopper '" + commandLineOptions.hopperID + "' is empty."); } Console.WriteLine("Status of hopper '" + commandLineOptions.hopperID + "': " + hopperStatus + "."); } if (commandLineOptions.jobCompletion || (commandLineOptions.hopperID.Length > 0) || (commandLineOptions.cardEjectSide.Length > 0)) { string hopperID = "1"; string cardEjectSide = "default"; printerJobID = Util.StartJob( bidiSpl, (commandLineOptions.hopperID.Length > 0) ? commandLineOptions.hopperID : hopperID, (commandLineOptions.cardEjectSide.Length > 0) ? commandLineOptions.cardEjectSide : cardEjectSide); } SamplePrintDocument printDocument = new SamplePrintDocument(commandLineOptions); printDocument.PrintController = new StandardPrintController(); printDocument.BeginPrint += new PrintEventHandler(printDocument.OnBeginPrint); printDocument.QueryPageSettings += new QueryPageSettingsEventHandler(printDocument.OnQueryPageSettings); printDocument.PrintPage += new PrintPageEventHandler(printDocument.OnPrintPage); printDocument.Print(); if (0 != printerJobID) { // wait for the print spooling to finish and then issue an EndJob(): Util.WaitForWindowsJobID(bidiSpl, commandLineOptions.printerName); bidiSpl.SetPrinterData(strings.ENDJOB); } if (commandLineOptions.jobCompletion) { Util.PollForJobCompletion(bidiSpl, printerJobID); } } catch (BidiException e) { Console.WriteLine(e.Message); Util.CancelJob(bidiSpl, e.PrinterJobID, e.ErrorCode); } catch (Exception e) { Console.WriteLine(e.Message); if (0 != printerJobID) { Util.CancelJob(bidiSpl, printerJobID, 0); } } finally { bidiSpl.UnbindDevice(); } }
private void button1_Click(object sender, EventArgs e) { String printerName = comboBox1.Text; GetPrinterProperties(printerName); ///printing is activated here BidiSplWrap bidiSpl = null; int printerJobID = 0; try { bidiSpl = new BidiSplWrap(); String BindResponse = bidiSpl.BindDevice(printerName); textBox2.Text += Environment.NewLine + BindResponse; string driverVersionXml = bidiSpl.GetPrinterData(strings.SDK_VERSION); textBox2.Text += Environment.NewLine + "driver version: " + Util.ParseDriverVersionXML(driverVersionXml) + Environment.NewLine; string printerOptionsXML = bidiSpl.GetPrinterData(strings.PRINTER_OPTIONS2); PrinterOptionsValues printerOptionsValues = Util.ParsePrinterOptionsXML(printerOptionsXML); if ("Ready" != printerOptionsValues._printerStatus && "Busy" != printerOptionsValues._printerStatus) { throw new Exception(printerName + " is not ready. status: " + printerOptionsValues._printerStatus); } else { string hopperID = string.Empty; printerJobID = Util.StartJob( bidiSpl, false, hopperID); Application.DoEvents(); Util.PrintTextAndGraphics(bidiSpl, printerName, textBox1.Text); Application.DoEvents(); if (0 != printerJobID) { // wait for the print spooling to finish and then issue an EndJob(): Util.WaitForWindowsJobID(bidiSpl, printerName); bidiSpl.SetPrinterData(strings.ENDJOB); } Application.DoEvents(); Util.PollForJobCompletion(bidiSpl, printerJobID); } } catch (BidiException ee) { textBox2.Text += Environment.NewLine + ee.Message; Util.CancelJob(bidiSpl, ee.PrinterJobID, ee.ErrorCode); } catch (Exception ee) { textBox2.Text += Environment.NewLine + ee.Message; if (0 != printerJobID) { Util.CancelJob(bidiSpl, printerJobID, 0); } } finally { bidiSpl.UnbindDevice(); } }