Kofax Mobile SDK API Reference
|
The Kofax Mobile SDK API Reference Guide for iOS provides a detailed description of each class included in the Mobile SDK framework. The framework includes data classes and classes that provide the API. You use the API classes to include the Kofax technologies in your own mobile application. This guide assumes you have a detailed understanding of the iOS-XCode development environment, which you use to implement an app design that uses the Kofax SDK API. Use this API reference guide along with the Kofax Mobile SDK Developer's Guide as the primary reference documents for your development. To include Kofax technologies in your app, you will include the MobileSDK framework and supporting files into the app project file, as described in the SDK Developer's Guide. The framework includes classes and data objects categorized in the following main groupings.
Main groups
Group | Functionality |
---|---|
UIControls | Contains all the classes and API associated with UI controls that you can add to your mobile application. The Image UI capture control (kfxKUIImageCaptureControl) captures images of documents that you want to include in the business process you design in your application. You use it with appropriate capture experience class according to document types: generic (kfxKUIDocumentCaptureExperience) or specialized (kfxKUICheckCaptureExperience), (KFXPassportCaptureExperience) or (KFXFixedAspectRatioCaptureExperience). The Image UI capture control provides visual cues to make sure your application captures images when the camera is held steady and level with the work surface, according to how you program your app. You can also control the size, aspect ratio and design of a frame that represents a visual cue to the user that shows the size and orientation of the target page. Your user would then orient the camera or the document to line up with the frame so that the picture taken has the document correctly oriented. Additional (KFXSelfieCaptureExperience) guides the user to take a clear legible photo of a selfie. The capture control uses the frame object to draw a reference frame rectangle to represent the desired size of the target document while a picture is being taken with the control. The Barcode UI capture control (kfxKUIBarCodeCaptureControl) captures single barcode data when you hover over one with the live camera view. The image review and edit control (kfxKUIImageReviewAndEdit) to view images of documents used as part of your business flow. This control includes a rectangle that you can control to allow your user to manually indicate the page boundary for a subsequent edit process using the image processor. |
Engines | Contains the image processor (kfxKENImageProcessor), the image classifier (kfxKCLImageClassifier), image related classes, document detector classes (like kfxKCDDocumentDetector, kfxKCDCheckDetector and KFXPassportDetector) including its settings (kfxKEDDocumentDetectionSettings, kfxKEDCheckDetectionSettings and KFXPassportDetectionSettings), the OnDeviceExtraction (kfxKOEIDExtractor) along with various project providers (KFXServerProjectProvider, KFXLocalBundleProjectProvider) and configuration (KFXIDExtractionParameters), and the Kofax Engine Data (kfxKED classes). The Kofax Engine Data classes provide the data storage for images (kfxKEDImage), image processing profile (KFXImageProcessorConfiguration for specifying image processing options for how to process an image), the results of operations performed (like bar code data found (kfxKEDBarcodeResult), image classification results (kfxKEDClassificationResult) or image quick analysis results (kfxKEDQuickAnalysisFeedback). Engine data classes also include the bounding rectangle and tetragon data classes used by several areas of the SDK (kfxKEDBoundingRectangle and kfxKEDBoundingTetragon). |
Utilities | Contains the license API (kfxKUTLicensing), classes to find the individual library versions (kfxKUTSdkVersion), error handling class (kfxError), application statistics (kfxKUTAppStatistics) and the Kofax Utilities (kfxKUT classes). All errors returned by the Mobile SDK framework are documented in the Developer's Guide. You can also use two methods of the kfxError class to get an error description for the error code, and a recommended corrective action for that error. |
Logistics | Contains the classes used to interface with the Kofax Server (KFXCaptureServer), class for a user profile (kfxKLOUserProfile) that specifies the server account information like user name and password, the associated Kofax Logistics data (kfxKLO classes) to store document data. These include: kfxKLODocument defining a document containing an array of pages (kfxKLOPage) which is based on the definition of the document (kfxKLODocumentType), and methods to add and remove pages. kfxKLOPage including an array of images (kfxKEDImage) associated with the page, and methods to add and remove images. kfxKLOField defining one field of data associated with the document, such as an address, account number or order selection. It references the kfxKLOFieldType object from which it was instantiated. kfxKLOFieldType which defines the controls and limits of the field, such as the min and max range, and whether or not it is required. |
Packaged | Contains the packaged capture controls classes (kfxCheckCaptureViewController, kfxBillCaptureViewController, kfxCreditCardCaptureViewController, kfxIDCaptureViewController and kfxPassportCaptureViewController) along with its parameters (kfxCheckCaptureParameters, kfxBillCaptureParameters, kfxCreditCardCaptureParameters, kfxIDCaptureParameters and kfxPassportCaptureParameters) and data classes (kfxCheckData, kfxBillData, kfxCreditCardData, kfxIDData and kfxPassportData). |
Delegate Protocols
The SDK API not only includes classes to provide the API to properties and methods, but also several delegate protocols for notifying you of progress or completion of asynchronous operations. Asynchronous operations include image processing, image classification, and image and barcode capture. Some of the top level API classes are instantiated as singleton objects by using an instance method to ensure only one copy of the object is active at any given time. The singleton objects include the image processor, the image classifier. The singleton object provides an API that ensures only one single thread passes through these interfaces for one asynchronous operation.
The delegate interfaces include the following:
kfxKCLDelegate: provides the API to notify you when a classification completes.
kfxKIPDelegate: provides the API to notify you about the progress of an image processing operation and when the processing completes. The operations include those for basic image processing or for quick analysis. Four delegates are included, two for each operation. Process progress informs you of the percentage completed, and the completion delegate notifies you when the results of the process are stored in the output image object.
kfxKUIBarCodeCaptureControlDelegate: provides the notification when the Mobile SDK has found a barcode and the data associated with it.
kfxKUIImageCaptureControlDelegate: provides notification when camera image capture completes after meeting all the image perfection criteria, such as camera stability within the prescribed threshold, and the correct camera orientation is within the prescribed orientation in reference to the target document surface.
kfxKUTAppStatisticsDelegate: provides the notification for certain appStats operations like write to file, and export progress and completion. There is also a delegate for file size and ram size thresholds reached to help with memory and file management associated with statistics.
kfxKUTAcquireVolumeLicenseDelegate: provides the API to notify you when acquire volume licenses process is completed.
kfxKUTCertificateValidatorDelegate: provides the API to notify you with certificate validation message.
kfxKUILicenseCaptureControlDelegate: provides the API to notify you when read license is completed.
kfxCheckCaptureViewControllerDelegate: provides the API to notify you when check capture is completed.
kfxBillCaptureViewControllerDelegate: provides the API to notify you when bill capture is completed.
kfxCreditCardCaptureViewControllerDelegate: provides the API to notify you when credit card capture is completed.
kfxIDCaptureViewControllerDelegate: provides the API to notify you when ID capture is completed.
kfxPassportCaptureViewControllerDelegate: provides the API to notify you when passport capture is completed.