Skip to main content

Scanbot SDK UI Components | iOS Document Scanner

RTU UI Components#

The Ready-To-Use UI (RTU UI) is a set of easy to integrate and customize high-level UI components (view controllers) for the most common tasks in the Scanbot SDK:

  • Document Scanner - SBSDKUIDocumentScannerViewController
  • Cropping - SBSDKUICroppingViewController
  • MRZ Scanner - SBSDKUIMRZScannerViewController
  • Barcode and QR-Code Scanner - SBSDKUIBarcodeScannerViewController
  • License Plate Scanner - SBSDKUILicensePlateScannerViewController
  • Textual Data Scanner - SBSDKUITextDataScannerViewController
  • NFC Passport Reader - SBSDKUINFCPassportReaderViewController
  • Generic Document Recognizer - SBSDKUIGenericDocumentRecognizerViewController
  • Batch Barcode Scanner - SBSDKUIBarcodesBatchScannerViewController
  • Health Insurance Card Scanner - SBSDKUIHealthInsuranceCardScannerViewController
  • Multiple Objects Scanner - SBSDKUIMultipleObjectScannerViewController

The design and behavior of these RTU-UI view controllers are based on our many years of experience as well as the feedback from our SDK customers.


  • UI: Colors, orientations, line widths, visibility of controls etc.
  • Text: Texts being displayed on RTU-UI screens, do your custom localization here
  • Behavior: Enable or disable features like multi-page scanning, auto-snapping, flashlight

Please note: The main idea of the RTU-UI is to provide a simple-to-integrate and simple-to-customize set of view controllers. Due to this idea there are some limitations with the possibilities of customization. If you need more customization options you have to implement custom view controllers using our Classic UI components.

RTU UI Example App#

Please see the project ReadyToUseUIDemo in our GitHub repository scanbot-sdk-example-ios.


The workflow components are also part of the RTU-UI Components. A workflow represents a set of multiple scanning steps. You can combine document scanning with QR code detection or MRZ recognition on an ID card image, for example. Workflow steps can be run on a captured still image or a video frame, so a step can either be a live-detection or a still-image capturing step. You can validate each step result, present an error message to the user if the validation fails and restart a step. By subclassing SBSDKUIWorkflowStep the creation of custom steps is possible.

The following predefined workflow step classes are provided:

  • SBSDKUIScanDocumentPageWorkflowStep - Specialized for capturing documents from high-res still images.
  • SBSDKUIScanBarCodeWorkflowStep - Recognition of barcodes/QR codes on low-res video frames (live detection).
  • SBSDKUIScanMachineReadableZoneWorkflowStep - For scanning of ID cards or passports with MRZ recognition.
  • SBSDKUIScanDisabilityCertificateWorkflowStep - For recognition and data extraction from disability certificate (DC) forms.
  • SBSDKUIScanPayFormWorkflowStep - For recognition and data extraction from SEPA payforms.
  • SBSDKUIScanHealthInsuranceCardWorkflowStep- For scanning health insurance cards.

For more details please see the corresponding API docs of the classes as well as our example app.

Workflows Example App#

Please see the project ReadyToUseUIDemo in our GitHub repository scanbot-sdk-example-ios.

Classic UI Components#

Our Classic UI components allow you to build your custom view controllers which provide extended flexibility when it comes to customization. It is a set of easy to integrate and customizable view controllers which can be embedded and extended in your existing view controller hierarchy.

  • SBSDKScannerViewController - View controller to create a custom scanning UI for documents
  • SBSDKImageEditingViewController - View controller to implement a custom image cropping UI
  • SBSDKMultipleObjectScannerViewController - View controller for scanning multiple objects on a single captured still image (e.g. scanning multiple business cards)
  • SBSDKLicensePlateScannerViewController - View controller fo scanning EU vehicle license plates
  • SBSDKGenericTextLineRecognizerViewController- View controller for scanning generic text lines within a small rectangle, including text validation
  • SBSDKGenericDocumentRecognizerViewController- View controller for recognizing documents like German passports, German driver's licenses and German ID cards
  • SBSDKBarcodeScannerViewController - View controller for scanning 1- and 2-dimensional machine readable codes, like bar codes and QR codes

Please also see the section Modules in Detail.

Classic UI Example App#

Please see the project ScanbotSDKDemo in our GitHub repository scanbot-sdk-example-ios.