private int ConfigureSmart50(int nres) { SmartComm2.SMART_DEVMODE smdm; IntPtr smdm_ptr; // alloc smdm_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(SmartComm2.SMART_DEVMODE))); // get current printer settings... if (nres == SmartComm2.SM_SUCCESS) { nres = SmartComm2.SmartComm_GetPrinterSettings((long)hsmartprinterid, (int)smdm_ptr); } // set to both printing... smdm = (SmartComm2.SMART_DEVMODE)Marshal.PtrToStructure(smdm_ptr, typeof(SmartComm2.SMART_DEVMODE)); smdm.dmDevmode.dmOrientation = DMORIENT_LANDSCAPE; // set landscape printing... smdm.dmOemdev.dwDocPrintSide = SmartComm2.SMART_PRINTSIDE_BOTH; Marshal.StructureToPtr(smdm, smdm_ptr, true); // change printer settings... if (nres == SmartComm2.SM_SUCCESS) { nres = SmartComm2.SmartComm_SetPrinterSettings((long)hsmartprinterid, (int)smdm_ptr); } // free smart printer Marshal.FreeHGlobal(smdm_ptr); return(nres); }
/// <summary> /// Get List of Available Card Printers /// </summary> private string getDeviceList() { // get device list deviceList_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(SmartComm2.SMART_PRINTER_LIST))); int convertedPointer = (int)deviceList_ptr.ToInt64(); printerresponse = SmartComm2.SmartComm_GetDeviceList2((long)deviceList_ptr); object listUndefined = Marshal.PtrToStructure(deviceList_ptr, typeof(SmartComm2.SMART_PRINTER_LIST)); deviceList = (SmartComm2.SMART_PRINTER_LIST)listUndefined; if (printerresponse != SmartComm2.SM_SUCCESS) { Marshal.FreeHGlobal(deviceList_ptr); } int i; SmartComm2.SMART_PRINTER_ITEM smartItem = deviceList.item[0]; for (i = 0; i <= deviceList.n - 1; i++) { printerStrDescription = new string(deviceList.item[i].desc); } Marshal.FreeHGlobal(deviceList_ptr); return(printerStrDescription); }
private int PrepareCardText(int nres) { // drawing routines are followed.... // draw image to front page string strImg; IntPtr strImg_ptr; SmartComm2.RECT rcDraws; IntPtr rcDraws_ptr; // draw text to front page string strText; IntPtr strText_ptr; string strFont; IntPtr strFont_ptr; strText = textToPrintOnCard; strText_ptr = Marshal.StringToHGlobalUni(strText); strFont = "Tahoma"; strFont_ptr = Marshal.StringToHGlobalUni(strFont); rcDraws_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(SmartComm2.RECT))); if (nres == SmartComm2.SM_SUCCESS) { nres = SmartComm2.SmartComm_DrawText((long)hsmartprinterid, System.Convert.ToByte(SmartComm2.PAGE_FRONT), System.Convert.ToByte(SmartComm2.PANEL_BLACK), 90, 480, (long)strFont_ptr, 11, SmartComm2.FONT_BOLD, (long)strText_ptr, (long)rcDraws_ptr); } Marshal.FreeHGlobal(strText_ptr); Marshal.FreeHGlobal(strFont_ptr); Marshal.FreeHGlobal(rcDraws_ptr); return(nres); }
private static void AquireDeviceInformation(string strDesc, out IntPtr strDesc_ptr, out int nres, out SmartComm2.SMART_PRINTER_INFO DevInfo, out IntPtr DevInfo_ptr, out int devGroup) { // acquire destination device information strDesc_ptr = Marshal.StringToHGlobalUni(strDesc); DevInfo_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(SmartComm2.SMART_PRINTER_INFO))); nres = SmartComm2.SmartComm_GetDeviceInfo2((long)DevInfo_ptr, (long)strDesc_ptr, SmartComm2.SMART_OPENDEVICE_BYDESC); DevInfo = (SmartComm2.SMART_PRINTER_INFO)Marshal.PtrToStructure(DevInfo_ptr, typeof(SmartComm2.SMART_PRINTER_INFO)); Marshal.FreeHGlobal(DevInfo_ptr); devGroup = 0; switch ((DevInfo.std.pid >> 4)) { case 0x385: { devGroup = SmartComm2.GROUP_SMART50; // PRINTER_50 break; } case 0x386: { devGroup = SmartComm2.GROUP_SMART50; // PRINTER_50 break; } case 0x387: { devGroup = SmartComm2.GROUP_SMART50; // PRINTER_30 break; } case 0x388: { devGroup = SmartComm2.GROUP_SMART50; // PRINTER_30 break; } case 0x370: { devGroup = SmartComm2.GROUP_SMART70; // PRINTER_70 break; } case 0x351: { devGroup = SmartComm2.GROUP_SMART51; // PRINTER_51 break; } case 0x331: { devGroup = SmartComm2.GROUP_SMART51; // PRINTER_31 break; } } }
private int CompleteFrontPrint(int nres) { // print front page if (nres == SmartComm2.SM_SUCCESS) { printerStatus = "Print Ready"; nres = SmartComm2.SmartComm_DoPrint((long)hsmartprinterid); } return(nres); }
private int PrepareCardforPrinting(int nres) { if (nres == SmartComm2.SM_F_CARDISINSIDE) { isCardPresent = true; printerStatus = "Preparing card for print"; nres = SmartComm2.SM_SUCCESS; nres = SmartComm2.SmartComm_Move((long)hsmartprinterid, SmartComm2.CARDPOS_PRINT); } return(nres); }
public int OperateStepMotor() { int nres; int ncmdlen = 13; byte pcmd = 0x40; nres = SmartComm2.SmartCommEx_CmdSend((long)hsmartprinterid, pcmd, ncmdlen); if (nres == SmartComm2.SM_SUCCESS) { } return(nres); }
private int EnterSBSMode(int nres) { // enter sbs mode if (nres == SmartComm2.SM_SUCCESS) { printerStatus = "SBS Start"; nres = 111; nres = SmartComm2.SmartComm_SBSStart((long)hsmartprinterid); } return(nres); }
private int RotateCardifPossible(int nres, SmartComm2.SMART_PRINTER_INFO DevInfo) { // print back pageand rotator is installed if (nres == SmartComm2.SM_SUCCESS & DevInfo.opt.is_dual == SmartComm2.VC_TRUE) { printerStatus = "Printing"; nres = SmartComm2.SmartComm_DoPrint((long)hsmartprinterid); isCardPrintDone = true; printerStatus = "Print Complete"; } return(nres); }
private int PullCardIntoCardprinter(int nres) { // card in if (nres == SmartComm2.SM_SUCCESS) { printerStatus = "Moving Card into Tray"; nres = 111; nres = SmartComm2.SmartComm_CardIn((long)hsmartprinterid); isCardPresent = true; } return(nres); }
private void OpenCardprinter(IntPtr strDesc_ptr, out int nres, out IntPtr hsmart_ptr) { // open device hsmart_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Int64))); nres = SmartComm2.SmartDCL_OpenDevice2((long)hsmart_ptr, (long)strDesc_ptr, SmartComm2.SMART_OPENDEVICE_BYDESC, DMORIENT_LANDSCAPE); if (nres == SmartComm2.SM_SUCCESS) { hsmartprinterid = Marshal.ReadInt64(hsmart_ptr); } Marshal.FreeHGlobal(hsmart_ptr); Marshal.FreeHGlobal(strDesc_ptr); SetPrinterStatus(nres); }
private int CloseCardPrinter(int nres) { // close card printer... if (nres == SmartComm2.SM_SUCCESS) { nres = SmartComm2.SmartComm_CloseDevice((long)hsmartprinterid); } else { _eventLogger.LogError("Unable to close printer : " + nres); } return(nres); }
/// <summary> /// Presents card out back of card Printer /// </summary> public void PrinterCardOutBack() { //Move Card Out if (hsmartprinterid != 0 && printerHasCard) { Int32 nres2; nres2 = SmartComm2.SmartComm_CardOutBack(hsmartprinterid); if (printerresponse == SmartComm2.SM_SUCCESS) { printerStatus = "Card in back"; printerresponse = nres2; } } }
private int ClosePrintDocument(int nres) { // close document... if (nres == SmartComm2.SM_SUCCESS) { nres = SmartComm2.SmartComm_CloseDocument((long)hsmartprinterid); } else { _eventLogger.LogError("Unable to close printer : " + nres); } return(nres); }
private int LeaveSBSMode(int nres) { // leave sbs-mode if (hsmartprinterid != 0) { Int32 nres2; nres2 = SmartComm2.SmartComm_SBSEnd((long)hsmartprinterid); if (nres == SmartComm2.SM_SUCCESS) { nres = nres2; } } return(nres); }
/// <summary> /// Moves card to card bin /// </summary> public void PrinterBinCard() { if (hsmartprinterid != 0) { Int32 nres2; nres2 = SmartComm2.SmartComm_CardOut(hsmartprinterid); if (printerresponse == SmartComm2.SM_SUCCESS) { printerresponse = nres2; } printerStatus = "Card has been Binned"; SetPrinterStatus(nres2); } }
private int AllocateCardprinter() { printerStatus = "initializing printer"; // get device list int nres; deviceList_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(SmartComm2.SMART_PRINTER_LIST))); int convertedPointer = (int)deviceList_ptr.ToInt64(); nres = SmartComm2.SmartComm_GetDeviceList2((long)deviceList_ptr); object listUndefined = Marshal.PtrToStructure(deviceList_ptr, typeof(SmartComm2.SMART_PRINTER_LIST)); deviceList = (SmartComm2.SMART_PRINTER_LIST)listUndefined; return(nres); }
/// <summary> /// Opens first Card printer on card printer device list /// </summary> private void openCardPrinter() { getDeviceList(); // open device hsmartprinter_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Int64))); printerresponse = SmartComm2.SmartDCL_OpenDevice2((long)hsmartprinter_ptr, (long)printerStrDescription_ptr, SmartComm2.SMART_OPENDEVICE_BYDESC, DMORIENT_LANDSCAPE); if (printerresponse == SmartComm2.SM_SUCCESS) { hsmartprinterid = Marshal.ReadInt64(hsmartprinter_ptr); } Marshal.FreeHGlobal(hsmartprinter_ptr); Marshal.FreeHGlobal(printerStrDescription_ptr); moveCardIntoPrinter(); }
/// <summary> /// Moves card back into tray /// </summary> public void PrinterMoveCardMegnetic() { //Move Card Out if (hsmartprinterid != 0 && printerHasCard) { Int32 nres2; nres2 = SmartComm2.SmartComm_Move(hsmartprinterid, SmartComm2.CARDPOS_MAGNETIC); if (printerresponse == SmartComm2.SM_SUCCESS) { printerStatus = "Card in Tray"; SetPrinterStatus(nres2); printerresponse = nres2; } } }
public int EnterTestMode() { int nres; nres = SmartComm2.SmartComm_GetStatus((long)hsmartprinterid, m_nTestModeSet); if (nres == SmartComm2.SM_SUCCESS) { m_nTestModeSet &= SmartComm2.SMSC_S_TESTMODE; if (m_nTestModeSet == 0x00) { nres = SmartComm2.SmartCommEx_ToggleTestMode((long)hsmartprinterid); } } return(nres); }
private int PresetCard(int nres) { // card out if (hsmartprinterid != 0 && nres == SmartComm2.SM_SUCCESS) { Int32 nres2; nres2 = SmartComm2.SmartComm_CardOutBack((long)hsmartprinterid); if (nres == SmartComm2.SM_SUCCESS) { nres = nres2; } printerStatus = "Card in back"; } return(nres); }
private int PrintCard(int nres, SmartComm2.SMART_PRINTER_INFO DevInfo) { // print if (nres == SmartComm2.SM_SUCCESS) { if (DevInfo.opt.is_dual == SmartComm2.VC_FALSE) { nres = SmartComm2.SmartDCL_Print((long)hsmartprinterid, SmartComm2.SMART_PRINTSIDE_FRONT); } else { nres = SmartComm2.SmartDCL_Print((long)hsmartprinterid, SmartComm2.SMART_PRINTSIDE_BOTH); } } return(nres); }
public int ExitTestMode() { int nres; Int64 uis = SMSC_S_TESTMODE; nres = SmartComm2.SmartComm_GetStatus((long)hsmartprinterid, (long)uis); if (nres == SmartComm2.SM_SUCCESS) { uis &= SmartComm2.SMSC_S_TESTMODE; if (m_nTestModeSet != uis) { nres = SmartComm2.SmartCommEx_ToggleTestMode((long)hsmartprinterid); } } return(nres); }
/// <summary> /// Moves card into card printer from card stock /// </summary> private void moveCardIntoPrinter() { string strDesc = ""; IntPtr strDesc_ptr; int nres; IntPtr hsmart_ptr; SmartComm2.SMART_PRINTER_INFO DevInfo; IntPtr DevInfo_ptr; getDeviceList(); // acquire destination device information strDesc_ptr = Marshal.StringToHGlobalUni(strDesc); DevInfo_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(SmartComm2.SMART_PRINTER_INFO))); nres = SmartComm2.SmartComm_GetDeviceInfo2((long)DevInfo_ptr, (long)strDesc_ptr, SmartComm2.SMART_OPENDEVICE_BYDESC); DevInfo = (SmartComm2.SMART_PRINTER_INFO)Marshal.PtrToStructure(DevInfo_ptr, typeof(SmartComm2.SMART_PRINTER_INFO)); Marshal.FreeHGlobal(DevInfo_ptr); Int32 devGroup = 0; switch ((DevInfo.std.pid >> 4)) { case 0x385: { devGroup = SmartComm2.GROUP_SMART50; // PRINTER_50 break; } case 0x386: { devGroup = SmartComm2.GROUP_SMART50; // PRINTER_50 break; } case 0x387: { devGroup = SmartComm2.GROUP_SMART50; // PRINTER_30 break; } case 0x388: { devGroup = SmartComm2.GROUP_SMART50; // PRINTER_30 break; } case 0x370: { devGroup = SmartComm2.GROUP_SMART70; // PRINTER_70 break; } case 0x351: { devGroup = SmartComm2.GROUP_SMART51; // PRINTER_51 break; } case 0x331: { devGroup = SmartComm2.GROUP_SMART51; // PRINTER_31 break; } } // open device hsmart_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Int64))); nres = SmartComm2.SmartDCL_OpenDevice2((long)hsmart_ptr, (long)strDesc_ptr, SmartComm2.SMART_OPENDEVICE_BYDESC, DMORIENT_LANDSCAPE); if (nres == SmartComm2.SM_SUCCESS) { hsmartprinterid = Marshal.ReadInt64(hsmart_ptr); } Marshal.FreeHGlobal(hsmart_ptr); Marshal.FreeHGlobal(strDesc_ptr); // enter sbs mode if (nres == SmartComm2.SM_SUCCESS) { nres = 111; nres = SmartComm2.SmartComm_SBSStart((long)hsmartprinterid); } // card in if (nres == SmartComm2.SM_SUCCESS) { nres = 111; nres = SmartComm2.SmartComm_CardIn((long)hsmartprinterid); } }