Skip to content

Document Reader SDK 6.4 — June 9, 2022

Core SDK

Document detection and crop

  • Added functionality to detect and crop border crossing stamps from the document page. Contact support for more details.
  • Fixed the issue with cropping of the ID cards on 3M/Gemalto/Thales document readers when ID is placed in the middle of the scanning glass.
  • Fixed the issue with incorrect detection and cropping two sides of the ID card on one image.

Document type recognition

  • Implemented functionality for identification of digital documents created in PDF (like visa). These documents may look the same as the real ones but are personalized a bit different.
  • Fixed the issue with legacy thresholds in decision making.
  • Fixed the issue with filters applied with no reason.


  • Improved OCR recognition quality for Chinese and Japanese.
  • Improved perforation OCR capability with straight and mirror variants reading attempts, when reading number from visa pages.
  • Added probability check of perforation OCR for result output.
  • Resources for Latin languages reorganized into separate file for better flexibility of deployment.
  • Malay LCID (1086) support added.


  • New parsers:
    • Namibia ID card
    • Slovenia ID card
    • Sweden Passport
  • Updated parsers:
    • Brazil Foreigners ID card
    • Kenya Foreigners Certificate
    • Kenya Passport
  • Fixed the issue with reading 1x30 for non-DL docs.
  • Fixed the issue with resource names for backward compatibility.


  • Added new parsers:
    • Costa Rica ID card
    • Dominican Republic ID card
    • India DL
    • India Tax card
    • Malawi DL
    • Malaysia Immigration card
    • Namibia ID card
    • Pakistan DL
    • Uzbekistan Foreigner ID card
  • Updated parsers:
    • Azerbaijan ID card
    • Philippines Voter card
    • Viet Nam ID card
  • Fixed the issue with detection of some of the codes.

Text data parsing and validation

  • Fixed the issue with conversion of Ü -> UE, Ö-> OE, Ä -> AE for MRZ comparison.
  • Fixed the issue with conversion of Taiwan dates into Gregorian.
  • Fixed the issue with dates written in two lines not converted to standard view.


  • Improved algorithm of checking image patterns. Dynamic color strip element detection and verification is now available for corresponding documents.
  • Implemented fluorescent ink elements validation. Requires specific lighting conditions to be applied. Available for corresponding documents.
  • Improved handling of ambient light on the document in UV when checking for false luminescence.
  • Fixed the issue with barcode format check for processing series of frames from camera on mobile devices.
  • Fixed the issue with considering transparent window when checking image patterns in UV.
  • Fixed the issue with excessive resources storage for hologram checks.

Image QA

  • Added support for colornessCheck member of processParam.imageQa.expectedPass array to accept image for processing only if document in front of the camera is not a BW copy.


  • Added functionality to set defaults for processing via JSON string in the PROCESS_PARAM_DEFAULTS environment variable, or via JSON file in PROCESS_PARAM_DEFAULTS_FILE_PATH. If any of these set their contents will be automatically added/merged to processParam object of the images processing request. Using this functionality processing behavior may be changed without making changes to the integration.
  • Added functionality to apply text data from PDF files onto the template for digital documents (like visa) and returning text results as usual.
  • Added the possibility to save/load images in WSQ format.
  • Added a new eRPRM_Authenticity enum member RPRM_Authenticity_StatusOnly.
  • Added new eRPRM_SecurityFeatureType enum members:
    • SecurityFeatureType_Microtext
    • SecurityFeatureType_FluorescentObject
  • Fixed the issue with wrong portrait selection on unknown documents of different formats as main Portrait output field.
  • Fixed the issue with providing MRZ data for processing second page for LetterScreen++ security feature validation.
  • Code quality improved with lots of small issues fixed.
  • Documentation updated.


  • Fixed the issue with analyzing PK for DH-scheme in PACE that led to failing PACE in some cases.
  • Restored backward compatibility for TCC Terminal Authentication parameter names.

Mobile API

  • iOS

    • Added RGLCustomUIViewBuilder and RGLCustomUIObjectsBuilder classes for building custom UI view via JSON. RGLCustomization takes a new customUILayerJSON property, by setting it, custom content view appears in RGLDocumentReaderCameraViewController.
    • Added a RGLDocReaderActionProcessTimeout case for the RGLDocReaderAction enum. This completion is called when processing is finished by timeout.
    • Added the -[recognizeImagesWithImageInputs:completion] method to the DocReader instance. Receives an array of RGLImageInput instances as input parameter and may process multiple images with different light types.
    • Added the RGLImageInput class that holds image, lightType, pageIndex.
    • Added the RGLDatabaseBackgroundLoader class for downloading and updating database files in the background. Also, the loader supports resuming download after connection was broken or restarting the client application.
    • Added the -[stopRFIDReaderWithErrorMessage:completion:] method to the DocReader instance. Works as -[stopRFIDReader:completion:] with additional param errorMessage for displaying the error message after stopping of RFID reading. When nil specified for this parameter, there will be no error message displayed.
    • Added RGLDiDocTypeInvoice and RGLDiDocTypePassengerLocatorForm cases for RGLDiDocType enum.
    • The value of the RGLDiDocTypeRegistrationCertificate case in the RGLDiDocType enum has been changed from 31 to 206.
    • resultStatus in RGLDocumentReaderCameraViewController now is always visible in label if the user sets custom text.
    • Fixed stopping of the recording after the explicit call of stopScanner.
  • Android

    • Added the setUICustomizationLayer method in the ParamsCustomization class. This method sets JSON with custom labels and images.
    • Added the DocReaderAction.TIMEOUT case for the DocReaderAction enum. This completion is called when processing is finished by timeout.
    • Added a new ImageInputData class to recognize images with different lightType and method: recognizeImages(@NonNull ImageInputData[] imageInputData, @NonNull IDocumentReaderCompletion completion).
    • Added the setRfidTimeout method in the Functionality class. This method sets the timeout for the RFID reading session.
    • Updated the diDocType enum with new fields: dtInvoice, dtPassengerLocatorForm.
    • Changed the value of the field dtRegistrationCertificate in the diDocType enum from 31 to 206.
    • Fixed the video recording process.
    • Fixed the frame position update after changing the screen size.

Document Reader Application

  • Added the PDF Results parameter in the Options dialog on the Results tab.
  • Added the Use short file ID parameter in the Options dialog on the RFID-chip tab.
  • Fixed the issue with reloading RFID PKD every time when changing any options.
  • Documentation updated.


  • Added the PDFResults property for enabling/disabling saving of scanning and processing results in PDF-report file in the current scan folder. Disabled by default (Boolean, read/write).
  • Added the RFIDUseShortFileID property for enabling/disabling usage of short file identifiers when addressing data groups on reading RFID chip data. Disabled by default (Boolean, read/write).
  • Documentation updated.

Web Service API

  • Environment variables. Changes in behavior:
    • DOCREADER_HTTPS if enabled, serve web service via HTTPS using default cert and key file paths (Defaults /app/certs/tls.crt; /app/certs/tls.key) DOCREADER_CERT_FILE / DOCREADER_KEY_FILE won't work if DOCREADER_HTTPS is set to "false". DOCREADER_CERT_FILE / DOCREADER_KEY_FILE defaults were changed to /app/certs/tls.crt; /app/certs/tls.key respectively.
    • DOCREADER_LOGS_ACCESS_CONSOLE default changed to "true".
    • New env variable DOCREADER_PROCESS_RESULTS_LOG_FILE (bool). Controls whether to save the document process requests and results to a file. If enabled, defaults to logs/process.
    • New env variable RFID_PKD_PA (bool). Controls whether to enable RFID PA feature. If enabled, the default folder for master lists is /app/rfid_pkd.
    • RFID_PKD_PA_PATH default folder for master lists is /app/rfid_pkd.
  • [docker] The environment variables DOCREADER_BIND, DOCREADER_WORKERS, and DOCREADER_LOGS_APP_CONSOLE were removed from the container image, i.e. reverted to defaults.
  • [docker] The environment variables DOCREADER_BACKLOG="20", DOCREADER_TIMEOUT="120", DOCREADER_LOGS_ACCESS_CONSOLE="true" were removed from the container image, i.e., reverted to defaults.
  • [docker] The PIPENV_DONT_LOAD_ENV=1 environment variable has been added.
  • [docker] Migrate to ubi9-minimal base image.


  • Implemented changes in reporting sequence of transaction for online licenses. Now transaction is reported at the end of the processing including what significant result types were obtained (“mrz”, “ocr”, “rfid”, “doctype”, “barcode”, “auth”). This allows us to count significant non-empty transactions more precisely.
  • Implemented simplified authenticity result output as status only without details for usage with specific desktop devices.
  • Implemented functionality of reporting calculated hashes of the input images to calculate transaction count correctly for develop licenses.
  • Fixed the issue with update of mobile license on initialization if it was already expired.
  • Fixed the issue with country limit filter not working correctly for online licenses.
  • Fixed the issue with returning correct expiry date in SetLicense method.


  • ICAO PKD master list version 203 included.
  • ICAO Health master list version 2 included.


  • Fixed issues in over 40 document templates for better quality results.
  • Includes 248 countries and territories, 10796 documents.
  • Added 220 new documents.
  • For details see the Supported documents list.