| Contents of TM-S Sample Programs for TM-S9000/S2000 Driver | ||||||||||
| Step | Overview | New function used in the step | Related Win32/64 API | Related structure in Win32/64 API | Related .NET API | Related class and properties in .NET API | ||||
| 1 | This is a sample
program for opening and closing devices, and scanning. |
Opening driver with device name | BiOpenMonPrinter | OpenMonPrinter | ||||||
| Register callback | BiSCNMICRSetStatusBackFunction | SCNMICRSetStatusBackFunction | ||||||||
| Start scanning | BiSCNMICRFunctionContinuously(, , MF_EXEC) | SCNMICRFunctionContinuously(FunctionType.MF_EXEC) | ||||||||
| Cancellation during scanning | BiSCNMICRCancelFunction | SCNMICRCancelFunction | ||||||||
| Recovery from recoverable error | BiCancelError | CancelError | ||||||||
| Get device status | BiGetStatus | GetStatus | ||||||||
| Cancel callback | BiSCNMICRCancelStatusBack | SCNMICRCancelStatusBack | ||||||||
| Close driver | BiCloseMonPrinter | CloseMonPrinter | ||||||||
| 2 | In addition to Step 1, this sample program allows you to select
to scan either a check sheet or a card, and then retrieve and display the
scanned images. |
Media selection - check or card | BiSCNSelectScanUnit | SCNSelectScanUnit | ||||||
| Resolution selection | BiSCNMICRFunctionContinuously(, , MF_SET_SCAN_FRONT_PARAM) BiSCNMICRFunctionContinuously(, , MF_SET_SCAN_BACK_PARAM) |
MF_SCAN | sResolution | SCNMICRFunctionContinuously(,
FunctionType.MF_SET_SCAN_FRONT_PARAM) SCNMICRFunctionContinuously(, FunctionType.MF_SET_SCAN_BACK_PARAM) |
MFScan | Resolution | ||||
| Saving scanned data to file with an image file format | BiSCNSetImageFormat | SCNSetImageFormat | ||||||||
| Select scanning side | BiSCNSelectScanFace | SCNSelectScanFace | ||||||||
| Image type selection | BiSCNSetImageQuality | SCNSetImageQuality | ||||||||
| Light source selection | BiSCNSetImageTypeOption | SCNSetImageTypeOption | ||||||||
| Light source of the scanned image to be retrieved during callback | BiSCNSelectScanImage | SCNSelectScanImage | ||||||||
| Obtain image data during callback | BiGetScanImage | GetScanImage | ||||||||
| 3 | In addition to Step 2, this sample program
retrieves and displays MICR data. It also cleans the MICR. |
Get result of MICR character recognition | BiGetMicrText | GetMicrText | ||||||
| MICR font selection - E13B or CMC7 | BiSCNMICRFunctionContinuously(, , MF_SET_MICR_PARAM) | MF_MICR01 | bFont | SCNMICRFunctionContinuously(, FunctionType.MF_SET_MICR_PARAM) | MFMicr | Font | ||||
| MICR cleaning | BiMICRCleaning | MICRCleaning | ||||||||
| Clears spaces included in MICR data | BiMICRClearSpaces | MICRClearSpaces | ||||||||
| 4 | In addition to Step 3, this sample program
performs physical endorse/electronic endorse. |
Select endorsement type - physical or electronic (virtual) | BiSetPrintStation | SetPrintStation | ||||||
| Template printing settings | BiLoadTemplatePrintArea BiTemplatePrint BiSetTemplatePrintArea |
LoadTemplatePrintArea TemplatePrint SetTemplatePrintArea |
||||||||
| Print image in endorsement | BiSCNPrintMemoryImage | SCNPrintMemoryImage | ||||||||
| Print text in endorsement | BiSCNPrintText | SCNPrintText | ||||||||
| Register callback for start of endorsement print | BiStartEndorsementSetStatusBackFunction | StartEndorsementSetStatusBackFunction | ||||||||
| Register callback for end of endorsement print | BiEndEndorsementSetStatusBackFunction | EndEndorsementSetStatusBackFunction | ||||||||
| Select endorsement print mode - High speed or Data-waiting | BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bEndorsePrintMode | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | EndorsePrintMode | ||||
| Select cancel scanning after unreceived data error | BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bPrnDataUnreceiveCancel | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | PrnDataUnreceiveCancel | ||||
| 5 | In addition to Step 3, this sample program
processes cashier's checks. It also prints cut sheets/roll paper (TM-S9000
only). Note: Difference between cashier's check and cut sheet printing is scanning can be enabled after printing a cashier's check. |
Select print station - Cut Sheet or Roll Paper | BiSetPrintStation | SetPrintStation | ||||||
| Select whether to scan printed document when performing cut sheet printing. | BiSetPrintCutSheetSettings | SetPrintCutSheetSettings | ||||||||
| Specify scanning condition of cut sheet printing | BiPrintCutSheet | PrintCutSheet | ||||||||
| Print text on cut sheet during callback using template print | BiSCNPrintMemoryImage | SCNPrintMemoryImage | ||||||||
| Print image on cut sheet during callback using template print | BiSCNPrintText | SCNPrintText | ||||||||
| Specify buffered print for roll paper printing | BiBufferedPrint(, MF_PRT_BUFFERING) | BufferedPrint(PrintBuffer.MF_PRT_BUFFERING) | ||||||||
| Set print area size | BiSetPrintSize | SetPrintSize | ||||||||
| Set the inline printing position | BiSetPrintAlignment | SetPrintAlignment | ||||||||
| Print text on roll paper | BiPrintText | PrintText | ||||||||
| Print image on roll paper | BiPrintImage | PrintImage | ||||||||
| Barcode printing on roll paper | BiPrintBarCode | PrintBarCode | ||||||||
| Auto cutter for roll paper | BiAutoCutRollPaper | AutoCutRollPaper | ||||||||
| Execute roll paper printing | BiBufferedPrint(, MF_PRT_EXEC) | BufferedPrint(MF_PRT_EXEC) | ||||||||
| 6 | In addition to Step 3, this sample program retrieves and displays OCR-AB recognition results. It also sounds an alarm. | Select OCR-A or OCR-B font for recognition | BiGetOcrABText | MF_OCR_AB | bOcrType | GetOcrABText | MFOcrAb | OcrType | ||
| Area definition for OCR-AB recognition | BiGetOcrABText | MF_OCR_AB | bDirection, wStartX, wStartY, wEndX, wEndY | GetOcrABText | MFOcrAb | Direction, StartX, StartY, EndX, EndY | ||||
| Retrieve OCR-AB recognition result | BiGetOcrABText | MF_OCR_AB | szOcrStr | GetOcrABText | MFOcrAb | OcrStr | ||||
| Select buzzer frequency | BiSCNMICRFunctionContinuously(, , MF_SET_BASE_PARAM) | MF_BASE01 | bBuzzerHz | SCNMICRFunctionContinuously(, FunctionType.MF_SET_BASE_PARAM) | MFBase | BuzzerHz | ||||
| Select number of times that buzzer sounds | BiSCNMICRFunctionContinuously(, , MF_SET_BASE_PARAM) | MF_BASE01 | bBuzzerCount | SCNMICRFunctionContinuously(, FunctionType.MF_SET_BASE_PARAM) | MFBase | BuzzerCount | ||||
| 7 | In addition to Step 3, this sample program processes IQA and displays the results. It also allows the selection of scanning mode (High Speed Mode/Confirmation Mode/Waterfall) and processes scans. | Select scanning mode - High speed mode or confirmation
mode. With high speed mode, the driver automatically choose exit pocket and termination of scanning based on pre-defined settings. With confirmation mode, application can choose exit pocket, termination of scanning based on MICR or image. |
BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bActivationMode | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | ActivationMode | ||
| In confirmation mode, application choose feeding option for next document | BiSetBehaviorToScnResult | SetBehaviorToScnResult | ||||||||
| Select exit pocket in confirmation mode | BiSetBehaviorToScnResult | SetBehaviorToScnResult | ||||||||
| Specify water fall mode | BiSetWaterfallMode | SetWaterfallMode | ||||||||
| Enable/disable IQA test | BiSCNMICRFunctionContinuously(, , MF_SET_IQA_PARAM) | MF_IQA | bErrorSelect | SCNMICRFunctionContinuously(, FunctionType.MF_SET_IQA_PARAM) | MFIqa | ErrorSelect | ||||
| Select ejection method when IQA error is detected | BiSCNMICRFunctionContinuously(, , MF_SET_IQA_PARAM) | MF_IQA | bErrorEject | SCNMICRFunctionContinuously(, FunctionType.MF_SET_IQA_PARAM) | MFIqa | ErrorEject | ||||
| Select whether to continue scanning when IQA error is detected | BiSCNMICRFunctionContinuously(, , MF_SET_IQA_PARAM) | MF_IQA | bCancel | SCNMICRFunctionContinuously(, FunctionType.MF_SET_IQA_PARAM) | MFIqa | Cancel | ||||
| Select image type for IQA test | BiSCNMICRFunctionContinuously(, , MF_SET_IQA_PARAM) | MF_IQA | bImageFormat, bColorDepth, bThreshold, bColor, bExOption and sResolution | SCNMICRFunctionContinuously(, FunctionType.MF_SET_IQA_PARAM) | MFIqa | ImageFormat, ColorDepth, Threshold, Color, ExOption and Resolution | ||||
| Specify detail condition in IQA test | BiSCNMICRFunctionContinuously(, , MF_SET_IQA_PARAM) | MF_IQA | bUndersize, bOversize, bMincompressed, bMaxcompressed, bFront_rear, bToolight, bToodark, bStreaks, bNoise, bFocus, bCorners, bEdges, bFraming, bSkew, bCarbon, bPiggyback | SCNMICRFunctionContinuously(, FunctionType.MF_SET_IQA_PARAM) | MFIqa | Undersize, Oversize, Mincompressed, Maxcompressed, Front_rear, Toolight, Toodark, Streaks, Noise, Focus, Corners, Edges, Framing, Skew, Carbon, Piggyback | ||||
| Get IQA result | BiGetIQAResult | MF_IQARESULT | GetIQAResult | |||||||
| 8 | In addition to Step 3, this sample program retrieves and displays barcode decode results, and detects errors. It also retrieves device status and device information. | Get current device status | BiGetStatus | GetStatus | ||||||
| Get current ink status | BiGetInkStatus | GetInkStatus | ||||||||
| Get device information | BiGetPrnCapability | GetPrnCapality | ||||||||
| Get maintenance counters | BiGetCounter | GetCounter | ||||||||
| Enable/disable barcode decode error detection | BiSCNMICRFunctionContinuously(, ,
MF_SET_BARCODE_FRONT_PARAM) BiSCNMICRFunctionContinuously(, , MF_SET_BARCODE_BACK_PARAM) |
MF_BARCODE | bErrorSelect | SCNMICRFunctionContinuously(,
FunctionType.MF_SET_BARCODE_FRONT_PARAM) SCNMICRFunctionContinuously(, FunctionType.MF_SET_BARCODE_BACK_PARAM) |
MFBarcode | ErrorSelect | ||||
| Select ejection method when barcode decode error is detected | BiSCNMICRFunctionContinuously(, ,
MF_SET_BARCODE_FRONT_PARAM) BiSCNMICRFunctionContinuously(, , MF_SET_BARCODE_BACK_PARAM) |
MF_BARCODE | bErrorEject | SCNMICRFunctionContinuously(,
FunctionType.MF_SET_BARCODE_FRONT_PARAM) SCNMICRFunctionContinuously(, FunctionType.MF_SET_BARCODE_BACK_PARAM) |
MFBarcode | ErrorEject | ||||
| Select whether to continue scanning when barcode decode error is detected | BiSCNMICRFunctionContinuously(, ,
MF_SET_BARCODE_FRONT_PARAM) BiSCNMICRFunctionContinuously(, , MF_SET_BARCODE_BACK_PARAM) |
MF_BARCODE | bCancel | SCNMICRFunctionContinuously(,
FunctionType.MF_SET_BARCODE_FRONT_PARAM) SCNMICRFunctionContinuously(, FunctionType.MF_SET_BARCODE_BACK_PARAM) |
MFBarcode | Cancel | ||||
| Retrieve barcode recognition result | BiGetBarcodeData | GetBarcodeData | ||||||||
| Enable/disable mis-insertion detection | BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bPaperMisInsertionErrorSelect | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | PaperMisInsertionErrorSelect | ||||
| Select ejection method when mis-insertion error is detected | BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bPaperMisInsertionErrorEject | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | PaperMisInsertionErrorEject | ||||
| Select whether to continue scanning when mis-insertion error is detected | BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bPaperMisInsertionCancel | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | PaperMisInsertionCancel | ||||
| Enable/disable double-feed detection | BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bDoubleFeedErrorSelect | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | DoubleFeedErrorSelect | ||||
| Select ejection method when double feed error is detected | BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bDoubleFeedErrorEject | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | DoubleFeedErrorEject | ||||
| Select whether to continue scanning when double feed error is detected | BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bDoubleFeedCancel | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | DoubleFeedCancel | ||||
| Enable/disable MICR noise detection | BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bNoiseErrorSelect | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | NoiseErrorSelect | ||||
| Select ejection method when MICR noise error is detected | BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bNoiseErrorEject | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | NoiseErrorEject | ||||
| Select whether to continue scanning when MICR noise error is detected | BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bNoiseCancel | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | NoiseCancel | ||||
| Enable/disable MICR character recognition error detection | BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bBaddataErrorSelect | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | BaddataErrorSelect | ||||
| Select ejection method when MICR character recognition error is detected | BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bBaddataCount | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | BaddataCount | ||||
| Select whether to continue scanning when MICR character recognition error is detected | BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bBaddataCancel | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | BaddataCancel | ||||
| Enable/disable to detect errors when magnetic waveform is not found | BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bNodataErrorSelect | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | NodataErrorSelect | ||||
| Select ejection method when MICR magnetic waveform is not found | BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bNodataErrorEject | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | NodataErrorEject | ||||
| Select whether to continue scanning when MICR magnetic waveform is not found | BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) | MF_PROCESS01 | bNodataCancel | SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) | MFProcess | NodataCancel | ||||
| A | UV Scan | Check if UV light source is installed | BiGetPrnCapability | GetPrnCapability | ||||||
| Light source selection - Visible and UV | BiSCNSetImageTypeOption | SCNSetImageTypeOption | ||||||||
| Light source of the scanned image to be retrieved | BiSCNSelectScanImage | SCNSelectScanImage | ||||||||
| Merge UV image to visible image | BiSCNSelectScanImage(, MF_SCAN_IMAGE_MERGED ) | SCNSelectScanImage(, ImageType.MF_SCAN_IMAGE_MERGED) | ||||||||
| Additional IQA defect metrics parameters for CTS2010 | BiSCNMICRFunctionContinuously(, , MF_SET_IQA_PARAM) | MF_IQA01 | bTestImage, bPartialImage | SCNMICRFunctionContinuously(, FunctionType.MF_SET_IQA_PARAM) | MFIqa | TestImage, PartialImage | ||||
| Additional IQA defect metrics result parameters for CTS2010 | BiGetIQAResult | MF_IQARESULT01 | stUnderSizeHorizontal stUnderSizeVertical stOverSizeHorizontal stOverSizeVertical stFrontRearImageMismatchHorizontal stFrontRearImageMismatchVertical stFoldedDocCorners stTornDocCorners stPartialImage |
GetIQAResult | MFIqaResult | UnderSizeHorizontal UnderSizeVertical OverSizeHorizontal OverSizeVertical FrontRearImageMismatchHorizontal FrontRearImageMismatchVertical FoldedDocCorners TornDocCorners PartialImage |
||||