Changelog
This page contains notable changes made to the SDK
October 8, 2021 - v5.8
API:
Added capability to load and process a PDF file or an image in the form of binary data
Added the ability to change many new properties through processParams, and not through customParams only, as it was before
Added the ability to disable automatic license renewal
Added the ability to disable barcode parsing
Changed processParams, most values are now objects
Fixed memory leak when using the readRFID function
Fixed the display of prompts while reading several pages of a document
Fixed a problem with the display of the flashlight button
Added new values to the
eVisualFieldType
parameterFT_DLCLASSCODE_CD_FROM
FT_DLCLASSCODE_CD_TO
FT_DLCLASSCODE_CD_NOTES
Core:
Document detection and crop
Multiple optimizations and improvements that reduce processing time and allow more precise cropping of the documents from an input image and better recognition
Improvements of processing two sides of an ID card in one image
Added support for Brazilian Driving Licenses format (unfolded)
OCR
Significantly improved recognition quality for Arabic, Chinese and Japanese
Added correct support for perforation fonts used in the Philippines, Equatorial Guinea, Ireland, Poland
Fixed issue with reading perforated numbers in Finland, Sweden
MRZ
Updated parsers:
Albania ID card
Cote d'Ivoire ID card
Kenya Foreigner Certificate
Korea passport
Morocco ID card
Netherlands’s passport
Norway ID card
Improved MRZ detection on complex backgrounds
Fixed issue with ID1 2x30 format detection / parameters output
Barcode
Added new parsers:
Argentina DL
Bangladesh ID card
Colombia ID card
Honduras ID card
Mexico DL
Moldova Residence Permit
Myanmar DL
Nicaragua ID card
Panama ID card
Philippines DL
Russian Federation housing and utilities bills
Santa Lucia ID card
Updated parsers:
AAMWA (Issuer Identification Number added)
Belarus ID card / Residence permit
Jamaica Firearm License
Rwanda ID card
Togo ID card, Residence permit
Minor fixes for 1D, 2D codes reading
Text data parsing and validation
Added parsing and conversion of the Taiwan calendar dates into Gregorian and creation of additional fields of the same type as original with LCID equal to 0
Added “customParams.convertCase” parameter, that may specify the desired conversion of text case in output results based on the dedicated enumeration. By default, text fields are returned in the original case as they are in the document
Added “processParam.minimalHolderAge” parameter, that may specify minimum age threshold of document holder. If the calculated age is below this threshold, then age field validity and document validity will fail. By default, not set and restrictions are not applied
Added possibility to specify the need of transliteration from Cyrillic to Latin for specific fields in the document template
Added conversion from issuing authority code to its name for Belarus
Fixed issue with field value mask used for OCR and parsing. Now they can be separated
Fixed issue with “processParam.dateFormat” applied from the previous request if not set in consequent requests
Fixed issue with transliteration of “ñ” in Peru documents
Fixed issue with comparison of values from transliterated text fields from Arabic to Latin with original Latin fields. Now such transliterated fields are excluded from the comparison
Fixed issue with Hijri dates conversion to the Gregorian calendar
Fixed issue with Japanese dates conversion – original value was missing from results
Fixed issue with partial comparison of the document numbers
Fixed issue with names comparison when the visual field value is shorter than in MRZ (truncated/abbreviated)
Updated stop words list for names
Image QA
Updated NN for focus detection (accuracy, size, and inference time improved)
Updated NN for moiré detection (accuracy, size, and inference time improved)
Authenticity
Fixed issue with false luminescence check which led to false rejections
Fixed issue with hologram detection in some documents
Added new NN for face detection with improved detection accuracy and speed
Fixed issue with not reading CAN from ID cards on normal scans when only MRZ is enabled (without Visual OCR)
Fixed issue with requesting more than one additional page for ID cards in some cases (ID1, ID2)
Fixed issue with the processing of some PDF files that led to incorrect results or crashes
Fixed performance issue with performing face detection and MRZ reading twice in case the original image is already cropped, but the processParam.alreadyCropped option is not set
Fixed performance issue with processing multiple pages in one request that led to increased processing time depending on the order of the submitted pages
Fixed issue with no returning RFID reading results in case session saving was enabled
Fixed issue with reducing cropped image resolution when capturing UV and IR on 7310 devices
Fixed issue with incorrect behavior if input images in base64 in /process request contain headers with description of contents like "data:image/jpeg;base64", etc
Fixed issue with not clearing results of the previous scan when it was submitted in encrypted format (mobile capture session for reprocessing on the server)
Fixed issue when processing multiple pages of unknown documents and not all of them were in output results
Fixed issue with incorrect elapsedTime value in output results
Fixed significant performance issue with loading input data from JSON
Fixed significant performance issue with output results into JSON
Fixed performance and high memory usage issue with cropping of graphical fields
Fixed performance issue when processing some cases of PDF files
Fixed issue with losing connection to 3rd party devices when portrait comparison is called
Fixed issue with log output format and depth setting
Code quality improved with lots of small issues fixed
Core RFID SDK:
Implemented capability to perform BAC after PACE was performed unsuccessfully
Fixed issue with using extended length commands when performing AA when using key/signature length of 229 bytes
Licensing:
Implemented capability to hide Regula logo with online transaction based mobile SDK license
Implemented capability to automatically update an expired license on mobile via a request to our licensing service when using an offline static license in the mobile app. This is very useful, as the application does not have to be recompiled for updating the license only on its expiration. In case renewed offline license was issued for this specific application ID / bundleID, this new license will be automatically downloaded and used on SDK initialization. This can be disabled by setting a specific property in mobile SDK before initialization
Database:
Fixed issues in multiple (over 100) document templates for better quality results
Changed dType to diPassportPage value in passport other page templates, except for main biographical data page
248 countries and territories / 9813 documents included
166 new documents added
For details see Supported documents list
July 20, 2021 - v5.7
API:
Added restart of the process on the camera switch during the scanning process
Added restart of the process on the camera orientation change during the scanning process. The orientation cannot be changed after the processing of at least one page is completed.
Added the ability to receive events about the connection to the RFID chip and errors in the process of reading the chip
Added the ability to provide the database as a binary file during SDK initialization
Fixed a crash on devices that do not have Google Play Services
Removed
android.permission.INTERNET
from framework manifest. Now, if necessary, this permission should be set at the application levelAdded new values to the
eVisualFieldType
parameterFT_ALT_DATE_OF_EXPIRY
Core:
OCR
Significantly improved recognition quality for Arabic, Western European, Chinese and Japanese
Implemented correct reading for Arabic and Persian numbers (correct Unicode symbols in output values)
Improved reading of perforated document numbers in different countries (new fonts supported)
Fixed issue with not returning required fields on timeout. Now they are returned anyway, with empty values if the fields were not read
MRZ
Updated parsers:
Belarus passport
Comoros ID card
Dominican Republic ID card
Jordan ID card
Russian visa
Serbian ID card
Switzerland DL
Thailand passport
Barcode
Added new parsers:
Belgium ID card
Costa Rica Child ID card
ECOWAS Id card
India AADHAAR ID card
Viet Nam ID card
Improved processing time for 1D, 2D codes
Fixed issue with CODE128 wrong treated checksums in rare cases
Text data parsing and validation
Added parsing and conversion of the Japanese calendar dates into Gregorian and creation of additional fields of the same type as original with LCID equal to 0
Added parsing and conversion of the Islamic calendar dates into Gregorian and creation of additional fields of the same type as original with LCID equal to 0
Added capability to shift the expiry date when calculating the document expiration status. Set the
customParams "shiftExpiryDate"
parameter for shifting the date of expiry into the future or past for the number of months specified. This is useful, for example, in some cases when the document might be still valid for some period after the original expiration date to prevent negative validity status for such documents. Shifting the date to the past will set negative validity for the documents that is about to expire in the specified number of monthsAdded transliteration from Arabic letters to Latin according to ICAO and creation of additional fields of the same type as original with LCID equal to 0
Added transliteration from Arabic and Persian numbers to ASCII numbers and creation of additional fields of the same type as original with LCID equal to 0
Added parsing of data from DG11 in eDL of Netherlands and extraction of the BSN number as a separate field
Fixed issue with Vietnamese character uppercase conversion and further validation
Image QA
Fixed issue with glare detection on the whole portrait area instead of the face area
Authenticity
Fixed issue with element coordinates in output for image patterns check
Fixed issue with UV dull paper check parameters for different documents in one series
Fixed issue with hologram detection in some documents
Added capability to guarantee that output image will contain correct MRZ on it in series process mode (on mobile, for example). Set the
customParams "forceReadMrzBeforeLocate"
Boolean flag to True to enable this logic. False by defaultAdded capability to provide in
customParams
JSON parameters “config” object, that may contain specific settings on a per-document basis. Currently, it is possible to disable some of the authenticity checks for the listed document IDsFixed issue with incorrect DPI detection in some rare cases
Fixed issue with the expectance of additional pages for two-sided documents when both sides are already scanned
Fixed issue with non-zero page index for one-page document results
Fixed issue with random page indexes on multiple pages processing
Fixed issue with rare crashes when processing specific images (very small images)
Code quality improved with lots of small issues fixed
RFID
Implemented sending of IS certificate as part of the TA_Signature request
Improved the algorithm of building certificate chains for the TA process where multiple certificates from different chains are stored in one folder
Fixed issue with TCC communication that led to exception on connection
Licensing:
Fixed issue with the license for bank card reading functionality only
Database:
Fixed issues in multiple document templates for better quality results
248 countries and territories / 9647 documents included
215 new documents added
For details see Supported documents list
May 27, 2021 - v5.6
API:
Implemented ability to read multiple pages of a document in manual mode (
manualMultipageMode
)Implemented ability to change the background for the status message on the scanning screen
Added the source code for the extended Document Reader SDK usage example on GitHub
Added new values to the
eVisualFieldType
parameterFT_DLCLASSCODE_NT_FROM
FT_DLCLASSCODE_NT_TO
FT_DLCLASSCODE_NT_NOTES
FT_DLCLASSCODE_TN_FROM
FT_DLCLASSCODE_TN_TO
FT_DLCLASSCODE_TN_NOTES
FT_DLCLASSCODE_D3_FROM
FT_DLCLASSCODE_D3_TO
FT_DLCLASSCODE_D3_NOTES
Core:
Document detection and crop
Multiple improvements that allow more precise cropping of the documents from input image and better recognition
Added "processParam.documentAreaMin" parameter to set area percent that document should fill on the image to be considered as document. Allowed values from 0 to 1. Default value 0.3
Added “processParam.forceDocFormat” parameter to force use of specified document format when locating and recognizing document to reduce the number of candidates
Fixed issue with detection of ID card on A4 flatbed scanner produced image with incorrect resolution set
OCR
Significantly improved recognition quality for Korean, Hebrew, and Cyrillic alphabets.
MRZ
Added new parsers:
Switzerland DL.
Updated parsers:
Bulgaria ID card
Croatia ID card
Ecuador ID card
Netherlands passport
Implemented 2x30 MRZ detection and reading for Switzerland DL
Fixed issue with coordinates for rotated MRZ
Barcode
Added new parsers:
France ID card
Updated parsers:
Guatemala passport
Implemented mask check for data from 1D barcodes
Fixed issue with base64 decoding from barcodes data
Fixed issue with absence of data parsing results from images with low resolution
Fixed issue with parsing data from multiple barcodes in one document
Text data parsing and validation
Fixed issue with document number validation for Ireland DL
Fixed issue with generating full name when same parts of the name are present on different sides of the ID card
Image QA
Added screen captured images detection as a separate check
Added portrait occlusion detection as a separate check
Improved algorithm for detection of colorless images
Authenticity
Added new check of the halo around the portrait in UV that can be result of photo substitution.
Improved fibers detection and validation algorithms
Fixed issue with luminescence mask validation for some cases
Implemented rotation of output results so the document image is correctly oriented
Fixed issue with some PDF files processing led to crash in some rare cases
Fixed issue with processing of multiple pages led to different results based on page order
Fixed issue with symbols visibility on mobile platforms, that lead to incompatibility with other frameworks that use same dependencies as OpenSSL
Code quality improved with lots of small issues fixed
RFID
Implemented re-processing of the previously obtained session from mobile or desktop station for validating PA and further processing data on the server side
Fixed issue with TA status calculation based on EF.CVCA ReadingStatus for both ePassport and eDL
Fixed issue with duplicated nodes instead of the array in JSON results generation for eRFID_ResultType.RFID_ResultType_RFID_BinaryData
Licensing:
Online transaction-based license usage implemented on mobile. Now it is possible to use same online license on mobile and on the server
Application ID/platform/OS agnostic license implemented on mobile. This special kind of license allows running SDK on mobile for capturing data as usual but delivers encrypted results package including document images and chip reading data for further processing on the server side with separate online transaction-based license. This allows easy redistribution of the SDK inside custom mobile SDKs without licensing management efforts and issues
Regula Reader device-based application ID agnostic offline license for Android use implemented. In this case device is storing the license, and license is checked by SDK querying device presence and reading the license from it on initialization
Database:
Templates updated in whole database where applicable:
Rotation angle to get correct document display position
Fibers description with regards to updated algorithms
Nationality field output enabled for ID cards
Supported documents list now contains details on image patterns in which lights are checked for each document template
248 countries and territories / 9432 documents included
101 new documents added
For details see Supported documents list.
April 5, 2021 - v5.5
API:
Added the ability to save a video of the document recognition process.
Added the ability to use the
FullAuth
scenario in multipage mode.Added the ability to set the mode via
checkRequiredTextFields
parameter where field validity would be set to failed if the required field value is missing in Visual OCR.Completely redesigned camera focus control implementation
Added new values to the
eVisualFieldType
parameterFT_DLCLASSCODE_CA_NOTES
FT_CITIZENSHIP_STATUS
FT_MILITARY_SERVICE_FROM
FT_MILITARY_SERVICE_TO
DocumentReaderResults
now contains an array ofDocumentPosition
,BarcodePosition
,MRZPosition
, andImageQualityGroup
items with information for each document page that was read, where availablegetTextFieldValueByType
function call with LCID parameter returns nil if the value with such LCID is not presented in the resultsRFID chip reading works correctly without first scanning the document, if the MRZ or CAN key is pre-set
Fixed the position of custom statuses (
status
andresultStatus
), now they are displayed in the centerFixed issue with
Capture
scenario when using the 1120 device
Core:
Document detection and crop
Fixed issue with locating already cropped documents in
FullAuth
scenarioFixed issue with locating documents on backgrounds with multiple lines aligned with the document edges
Fixed issue with locating two sides of ID card on one image
Fixed issue with locating documents on non-contrast backgrounds
OCR
Greatly improved bank cards OCR
Improved OCR of perforated fields
MRZ
Added new parsers:
Pakistan ID card
Updated parsers:
Austrian residence permit
EU residence permit
France ID card
Kazakhstan Residence permit
Malta ID card
Norway ID card
Poland ID card
Fixed issue with incorrect MRZ detection on some images
Fixed issue with incorrect symbol probabilities in some cases
Fixed issue with 1-line MRZ in DL parsing
Barcode
Added new parsers:
Belarus ID card
Colombia DL
France ID card
Ghana Voter card
Nigeria Voter card
Pakistan ID card
Updated parsers:
Korea Alien registration card
Moldova ID card
Fixed issue with code types for recognition filter
Text data parsing and validation
Added capability to verify date of issue validity based on document template activity term
Added capability for Italy tax code validation
Added capability for comparison of the field value from one source with abbreviature of this value from another source
Added XXK nationality code for Kosovo
Fixed issue with comparison between MRZ and Visual for document without expiration date
Fixed issue with probabilities for transliterated fields: they will have probability of original field
Fixed issue with German Ü letter transliteration
Fixed issue with composite surnames comparison where last part is missing in MRZ
Fixed issue with measure units on locale change
Fixed issue with
FT_DATE_FIRST_RENEWAL
andFT_DATE_SECOND_RENEWAL
fields validity
Image QA
Improved focus detection NN
Improved algorithm for detection of colorless images
Authenticity
Added new algorithm for obtaining correct IR image on 7310 devices
Implemented correct processing of all authenticity checks in FullAuth scenario
Improved IR visibility check for photo area, where grayscale photo should look the same in visible and IR
Improved variable patterns check for documents with a lot of UV luminescence
Fixed issue with hologram checks on series of frames
Added support of reading data from both sides of bank cards
Added support of single page (back page) data bank cards
Improved processing of bank cards: now it is payment system agnostic
Fixed issue with input images page indexes. Now they will be set automatically and correctly if missing
Code quality improved with lots of small issues fixed
RFID
Fixed issue with different
.ldif
format supportFixed issue with parsing certificates on different platforms
Database:
Added to templates in whole database where applicable:
Perforated text fields
Hologram areas and checks
Activity term for template
Extended description for visible patterns
Barcode format check parameters
IR visibility for portraits, where they are the same in visible and IR
248 countries and territories / 9331 documents included
179 new documents added
January 18, 2021 - v5.4
API:
Added document authentication based on the detection of the presence of a hologram
Updated document image for NFC chip reading activity animation for USA passport which can be read only when passport book is open
Added the ability to disable checking for the presence of a flashlight on the device
Added new values to the
eCheckDiagnose
parameter:PHOTO_WHITE_IR_DONT_MATCH
FIELD_POS_CORRECTOR_GLARES_IN_PHOTO_AREA
HOLOGRAM_FRAMES_IS_ABSENT
HOLOGRAM_HOLO_FIELD_IS_ABSENT
FINGERPRINTS_COMPARISON_MISMATCH
HOLO_PHOTO_FACE_NOT_DETECTED
HOLO_PHOTO_FACE_COMPARISON_FAILED
HOLO_PHOTO_FACE_GLARE_IN_CENTER_ABSENT
HOLO_ELEMENT_SHAPE_ERROR
ALGORITHM_STEPS_ERROR
HOLO_AREAS_NOT_LOADED
FINISHED_BY_TIMEOUT
Updated enumeration values of
eImageQualityCheckType
Updated
DocumentReaderException
enumeration values related to licensing errors that may occur during initializationFixed an issue with incorrect camera focus in camera activity
Fixed an issue in the
zoomFactor
property. Now when setting a value above the maximum allowed value, the camera will be zoomed to the maximum available value for this camera
Core:
Document detection and crop
Added Boolean flag
processParam.fastDocDetect
to shorten the list of candidates to process during document detection in a single image process mode. Enabled by default. This solves the issue introduced in 5.2, that lead to significantly longer processing times on the images with specific backgroundsImproved ID2 MRZ documents cropping in some cases
OCR
Added support for Amharic (fidäl / Ephiopian)
Added support for perforated numbers OCR (different fonts, straight and mirror)
Added Boolean flag
processParam.checkRequiredTextFields
. When enabled, each field in template will be checked for value presence and if the field is marked as required, but has no value, it will have "error" in validity status. Disabled by defaultAdded Boolean flag
processParam.updateOCRValidityByGlare
. When enabled, OCR field validity will be updated with | tr_GlaresOnField value, if there is a glare over the text field on the image. Disabled by defaultImproved Latin NN
Improved Hebrew NN
Barcode
Updated Peru ID Card parser
Fixed issue with multiple pages processing
Text data parsing and validation
Implemented conversion from ROC dates (Minguo) into Gregorian
Fixed issue with DL class field comparison between barcode and visual
Fixed issue with incorrect validity for dates in Hijri
Image QA
Added new Resolution assessment check. Should be above threshold (150 ppi), otherwise the check will fail. Can be set via
processParam.imageQA.dpiThreshold
Added new Perspective angle assessment check. Should be below threshold (5 degrees), otherwise the check will fail. Can be set via
processParam.imageQA.angleThreshold
Added new Documents bounds inside the image check. All document corners should be inside the image, otherwise the check will fail
Authenticity
Added support for hologram presence detection by analysis of multiple frames
Improved patterns check for visible and IR light images
Improved patterns check for Russian Federation domestic passport
Fixed issue with AV on specific images in IR visibility check
Fixed issue with 1- and 8-bit images processing
Code quality improved with lots of small issues fixed
Database:
246 countries and territories / 9152 documents included
193 new documents added
For details see Supported documents list
November 5, 2020 - v5.3
API:
Added the ability to change the zoom on the scanning screen (
isZoomEnabled
)Added the ability to set the starting zoom factor for the scanning screen (
zoomFactor
)Added the ability to change the size of the toolbar (
toolbarSize
)Added the ability to get cut-out images of barcodes when working without a document description (
returnCroppedBarcode
)Added new localizations: Bengali, Dutch, Finnish, Greek, Hebrew, Hindi, Japanese, Korean, Malay, Swedish
The
jsonResult
property has been replaced with therawResult
string property in DocumentReaderResults, which contains the original JSON stringThe database and resources are now stored in internal storage
Added support for the camera2 API
Added the ability to add a list of devices that should not use the camera2 API
Added new values to the
eVisualFieldType
parameter:FT_DATE_OF_INSURANCE_EXPIRY
FT_MORTGAGE_BY
FT_OLD_DOCUMENT_NUMBER
FT_OLD_DATE_OF_ISSUE
FT_OLD_PLACE_OF_ISSUE
FT_DLCLASSCODE_LR_FROM
FT_DLCLASSCODE_LR_TO
FT_DLCLASSCODE_LR_NOTES
FT_DLCLASSCODE_MR_FROM
FT_DLCLASSCODE_MR_TO
FT_DLCLASSCODE_MR_NOTES
FT_DLCLASSCODE_HR_FROM
FT_DLCLASSCODE_HR_TO
FT_DLCLASSCODE_HR_NOTES
FT_DLCLASSCODE_HC_FROM
FT_DLCLASSCODE_HC_TO
FT_DLCLASSCODE_HC_NOTES
FT_DLCLASSCODE_MC_FROM
FT_DLCLASSCODE_MC_TO
FT_DLCLASSCODE_MC_NOTES
FT_DLCLASSCODE_RE_FROM
FT_DLCLASSCODE_RE_TO
FT_DLCLASSCODE_RE_NOTES
FT_DLCLASSCODE_R_FROM
FT_DLCLASSCODE_R_TO
FT_DLCLASSCODE_R_NOTES
FT_DLCLASSCODE_CA_FROM
FT_DLCLASSCODE_CA_TO
FT_DLCLASSCODE_CA_NOTES
Deprecated
eVisualFieldType
enum memberFT_MRZ_STRINGS_WITH_CORRECT_CHECK_SUMS
Added new values to the
eCheckDiagnose
parameter:PORTRAIT_COMPARISON_NO_PORTRAIT_DETECTED
MOBILE_IMAGES_UNSUITABLE_LIGHT_CONDITIONS
MOBILE_IMAGES_WHITE_UV_NO_DIFFERENCE
LAST_DIAGNOSE_VALUE
Fixed a bug when adding a database to the app
Fixed the way to change the size of the camera preview
Core:
Document detection and crop
Improvements in single image process algorithm with more precise cropping
Fixed issues with incorrect cropping by inner document lines instead of outer in some cases
Fixed issue with cropping large document formats like birth/marriage certificates
Fixed issue with incorrect cropping documents with MRZ in some cases
Document type recognition
New functionality implemented in template description that allows more precise document cropping and resolution determination
Fixed issue with MRZ filter for IDL
Fixed issue with
documentIDList
filter working incorrectly
OCR
Added support for Farsi, Kashmiri, Konkani, Marathi, Sanskrit, Sindhi, Punjabi languages
Arabic, Hindi, and Thai languages reading quality greatly improved
Added Arabic and Persian numbers correct support
Added capability to ignore field mask on recognition when
matchTextFieldMask
is set to false. By default, we are trying to read a field value with maximum efforts to match the mask and provide a correctly formatted value, making assumptions based on the provided field mask. In case this parameter is disabled, OCR will be done as is and then the recognized value will be matched to the field mask for validityUpdated Cyrillic NN with better recognition probability
Fixed issue with Latin characters in right-to-left strings (Hebrew, Arabic, etc.) leading to incorrect text direction (RTL, LTR markers)
Fixed issue with incorrect recognition probability (over 100)
MRZ
Added new parsers:
Malaysia visa
South Sudan ID car
Updated parsers
Azerbaijan Permanent Resident Card
Iceland Residence permit
Kenia ID card
Mexico ID card
Mexico Voting card
New Zealand passport
Peru ID card
USA & CAN Enhanced Driving License
USA Permanent Resident Card
USA Visa
Improved reading of images with color noise over MRZ
In IDL with 1-line MRZ, the first character “D” is now always parsed as
FT_IDENTIFIER
instead ofFT_DOCUMENT_CLASS_CODE
Barcode
Added output of the
GF_BAR_CODE
graphic field with barcode image for unknown documents, where the barcode was detected and readUpdated New York Enhanced Driving License parser
Updated US DL parsers – zip code is output with trailing zeros
Updated US DL parsers – full names are divided into parts using spaces and commas correctly
Fixed issue with Peru ID card data parsing
Fixed Brazil ID card consular parser
Fixed issue with Code 128 decoding on some samples
Fixed rare issue with an extra character added on PDF417 decoding
Fixed issue with data parsing of a specific boarding pass leading to an exception
Fixed issue with reading multiple codes in series processing, when one code read on one frame, and the other on a different frame
Removed
FT_PDF_417_CODEC
field generationOptimized processing in series and with multiple-page documents
Text data parsing and validation
Added correct LCID for fields from RFID DG11 and DG12 for all countries instead of always Latin
Added check digit calculation for the Swiss health insurance card
Added parsing possibility for Australia DL categories that are dynamically printed on the document
Fixed issue with visual vs MRZ comparison for field values that contain Ü. For some countries, MRZ contains UE and for some U
Fixed issue with Slovenian Ć transliteration for MRZ comparison
Fixed issue with Russian Domestic passport date of expiry validation if the passport was renewed just before 45 years of age
Reverted ^ symbol removal in
FT_SURNAME
,FT_GIVEN_NAMES
andFT_SURNAME_AND_GIVEN_NAMES
in lexical analysis results. If you need to remove this symbol from a field value, please do this on the client’s side, as this symbol helps to distinguish, for example, between the first and second surnames in some documents
Authenticity
Fixed issue with Barcode format check result was not available in case barcode should be present in document but cannot be detected or read
Added parameter
imageDpiOutMin
for input resolution adjustment in case, it is too small. By default, the image will be resized up to 200 dpi if it has less resolution. This parameter cannot be less than 100Improved PNG saving speed
Fixed issue with incorrect rotation after incorrect face detection
Fixed input JSON validation for the correctness
Fixed issue with process timeout when processing single images. Now it is ignored
Fixed issue with no graphic results available in output if timeout reached
Fixed issue with the calculation of PA status by also checking ReadingStatus of the files
Database:
246 countries and territories / 8983 documents included
185 new documents added
For details see Supported documents list
August 6, 2020 - v5.2
API:
Added the ability to select a mode of the recognition process (
captureMode
):automatic (
Auto
)start video mode using the Capture button (
CaptureVideo
)manual mode for processing a single frame (
CaptureFrame
)
Added the ability to set the maximum time for document recognition, after which the recognition process ends automatically (
timeout
)In some scenarios, you can manually correct the borders of the detected document when using the automatic recognition mode via the
showScanner
function (manualCrop
)In some scenarios, you can manually correct the borders of the detected document when using the
recognizeImage
function (manualCrop
)Added the ability to limit the document tilt angle (
perspectiveAngle
)Added the ability to set the minimum allowed DPI of a document in the image (
minDPI
)Added the ability to display metadata while reading a document (
setDisplayMetadata
)Added capability to generate integral image, that consists of many images taken in series, and does not contain glare. Works only if
doublePageSpread
option is off (integralImage
)Added SDK localization in 8 new languages: Italian, Polish, Arabic, Vietnamese, Czech, Portuguese, Thai, Turkish
Added a new function
getTextFieldValueByTypeAndSource
to quickly get values from the results by specifyingeVisualFieldType
andeRPRM_ResultType
Added a new function
getTextFieldValueByTypeAndSource
to quickly get values from the results by specifyingeVisualFieldType
,eRPRM_ResultType
values and original propertiesIn
DocumentReaderResults
, added a new property holding time spent on reading the document RFID chip (elapsedTimeRFID
)In
DocumentReaderResults
, added a new property holding time spent on document recognition (elapsedTime
)In
DocumentReaderResults
, added a new property "processingFinishedStatus" indicating the current status of the recognition process (ProcessingFinishedStatus
)In
DocumentReaderValue
, added a new property indicating recognition probability (0% -100%) (probability
)Added the ability to change the quality of the video obtained from the device camera during document recognition (
cameraSize
)Added new
eVisualFieldType
enum members:FT_URL
FT_CALIBER
FT_MODEL
FT_MAKE
FT_NUMBER_OF_CYLINDERS
FT_SURNAME_OF_HUSBAND_AFTER_REGISTRATION
FT_SURNAME_OF_WIFE_AFTER_REGISTRATION
FT_DATE_OF_BIRTH_OF_WIFE
FT_DATE_OF_BIRTH_OF_HUSBAND
FT_CITIZENSHIP_OF_FIRST_PERSON
FT_CITIZENSHIP_OF_SECOND_PERSON
FT_CVV
Redesigned the UI for reading the document RFID chip
Redesigned the error structure when working with the SDK, now most errors are returned as
Throwable
Fixed image serialization issue for
DocumentReaderGraphicField
Fixed the instructional animation when using the
CreditCard
scenarioFixed memory leak caused by incorrect work of
CaptureActivity
Fixed minor issues
Core:
Added capability to read both sides of bank cards in
CreditCard
scenario (multipageProcessing
)Added correct depersonalization support for all platforms with applying blur over the field areas. Depersonalization configuration options extended with
allTextFields
andallGraphicFields
(dePersonalize
)Document type recognition:
Improved with new NN under the hood. Smaller size, better quality results
New functionality implemented to better differentiation between document series based on document data
OCR:
Added support for Arabic, Bengali, Korean, Hindi, Sinhala, Tamil, and Thai languages
Refactored to optimize and remove redundant code and make it smaller in size
Fixed issue with Azeri Ə character returned Cyrillic instead of Latin
MRZ:
Added new parsers:
Armenia visa
Saudi Arabia visa
Updated parsers:
Kuwait ID card
Romania ID card
Improved reading on images with color noise over MRZ
Fixed issue with setting validity for the fields that were not actually validated
Barcode:
Updated Guatemala Passport parser
Fixed issue with Qatar ID card code reading
Text data parsing and validation:
Added content validation for Romanian CNP number (personal number)
Added date validation for
FT_DATE_OF_BIRTH_OF_WIFE
&FT_DATE_OF_BIRTH_OF_HUSBAND
fieldsAdded separate calculated
FT_CATEGORY
field when processing bank cards number presenting issuer payment systemFixed issues with parsing registration stamp data into specific fields for Russian Federation domestic passports
Fixed issue with visual vs MRZ comparison for values that contain
‘
Fixed issue with
^
symbol inFT_SURNAME
,FT_GIVEN_NAMES
andFT_SURNAME_AND_GIVEN_NAMES
in lexical analysis results
Image QA
Image quality assessment NNs (focus and glares) were updated for better result quality, smaller size, and improved performance
Glare presence over text fields prevents process series finish in OCR enabled scenarios
Code quality improved with lots of small issues fixed
June 6, 2020 - v5.1
API:
Added the ability to change the standard images of the following buttons:
Torch button
Close button
Capture button
Change frame button
Camera switch button
Added capability of changing camera frame corners radius.
Added capability of changing the design type of the beginning and end of the camera frame line.
Added capability of changing the margin between the camera frame and the preview edge.
Added capability of changing aspect ratio of the camera frame.
Added capability of changing the layout position of the camera frame.
Added capability of creating your custom status in the camera window, as well as setting the position for it.
Added the ability to set the type of barcode parser (
barcodeParserType
).Added capability of accessing the document's RFID chip using
CAN
.Added processing of critical errors that may occur when processing an RFID chip, such as an invalid key (
MRZ
,CAN
), after which the scanning session should be interrupted.Added capability of reading the document spread (
doublePageSpread
).Added dark theme support for all UI elements.
Added capability of deleting a database from a device (db.dat) (
removeDatabase
).Added the ability to cancel database downloads while performing the
prepareDatabase
andrunAutoUpdate
functions (cancelDBUpdate
).Added capability of using external certificates (
addPKDCertificates
) - they can be added both during initialization and in runtime. Also added the ability to delete certificates from memory (clearPKDCertificates
).Implemented serialization and deserialization of the
DocumentReaderResults
object.Added capability of processing multiple document images (
recognizeImages
).Added capability of saving the RFID session for debugging (
debugSaveRFIDSession
).Added annotations in code.
Added barcode format verification, the results of which are returned to
DocumentReaderAuthenticityResult
.Added Context as a parameter to the following functions:
prepareDatabase
,runAutoUpdate
,removeDatabase
,showScanner
,stopScanner
, and others.Added the following Core types:
barcodemrzrfid
,ocrandmrzrfid
.Added new enums:
eCheckDiagnose
,DocFormat
,PKDResourceType
.The
setAutoSettings
method has been added to the RfidScenario settings structure, which allows you to automatically change the scenario settings depending on the type and results obtained during scanning of the last document. The default value is true.Added new
CTC_TRADITIONAL
andCTC_SIMPLIFIED
members of theLCID
enum.Added new
DocReaderFrame
enum memberDOCUMENT
.The list of scenarios available for document processing is provided in enum
Scenario
.Changed default values of some properties in
RfidScenario
structure.Updated error statuses associated with the license.
Fixed issues in the operation of the
prepareDatabase
andrunAutoUpdate
functions.Fixed issues in the RFID chip reading results.
Fixed generation of final results. Now
DocumentReaderTextField
contains theDocumentReaderValue
values from all pages of the document for alleRPRM_ResultType
result types.Added new
eVisualFieldType
enum members:FT_PLACE_OF_EXAMINATION
,FT_APPLICATION_NUMBER
,FT_VOUCHER_NUMBER
,FT_AUTHORIZATION_NUMBER
,FT_FACULTY
,FT_FORM_OF_EDUCATION
,FT_DNI_NUMBER
,FT_RETIREMENT_NUMBER
,FT_PROFESSIONAL_ID_NUMBER
,FT_AGE_AT_ISSUE
,FT_YEARS_SINCE_ISSUE
,FT_DLCLASSCODE_BTP_FROM
,FT_DLCLASSCODE_BTP_NOTES
,FT_DLCLASSCODE_BTP_TO
,FT_DLCLASSCODE_C3_FROM
,FT_DLCLASSCODE_C3_NOTES
,FT_DLCLASSCODE_C3_TO
,FT_DLCLASSCODE_E_FROM
,FT_DLCLASSCODE_E_NOTES
,FT_DLCLASSCODE_E_TO
,FT_DLCLASSCODE_F_FROM
,FT_DLCLASSCODE_F_NOTES
,FT_DLCLASSCODE_F_TO
,FT_DLCLASSCODE_FA_FROM
,FT_DLCLASSCODE_FA_NOTES
,FT_DLCLASSCODE_FA_TO
,FT_DLCLASSCODE_FA1_FROM
,FT_DLCLASSCODE_FA1_NOTES
,FT_DLCLASSCODE_FA1_TO
,FT_DLCLASSCODE_FB_FROM
,FT_DLCLASSCODE_FB_NOTES
,FT_DLCLASSCODE_FB_TO
,FT_DLCLASSCODE_G1_FROM
,FT_DLCLASSCODE_G1_NOTES
,FT_DLCLASSCODE_G1_TO
,FT_DLCLASSCODE_H_FROM
,FT_DLCLASSCODE_H_NOTES
,FT_DLCLASSCODE_H_TO
,FT_DLCLASSCODE_I_FROM
,FT_DLCLASSCODE_I_NOTES
,FT_DLCLASSCODE_I_TO
,FT_DLCLASSCODE_K_FROM
,FT_DLCLASSCODE_K_NOTES
,FT_DLCLASSCODE_K_TO
,FT_DLCLASSCODE_LK_FROM
,FT_DLCLASSCODE_LK_NOTES
,FT_DLCLASSCODE_LK_TO
,FT_DLCLASSCODE_N_FROM
,FT_DLCLASSCODE_N_NOTES
,FT_DLCLASSCODE_N_TO
,FT_DLCLASSCODE_S_FROM
,FT_DLCLASSCODE_S_NOTES
,FT_DLCLASSCODE_S_TO
,FT_DLCLASSCODE_TB_FROM
,FT_DLCLASSCODE_TB_NOTES
,FT_DLCLASSCODE_TB_TO
,FT_DLCLASSCODE_TM_FROM
,FT_DLCLASSCODE_TM_NOTES
,FT_DLCLASSCODE_TM_TO
,FT_DLCLASSCODE_TR_FROM
,FT_DLCLASSCODE_TR_NOTES
,FT_DLCLASSCODE_TR_TO
,FT_DLCLASSCODE_TV_FROM
,FT_DLCLASSCODE_TV_NOTES
,FT_DLCLASSCODE_TV_TO
,FT_DLCLASSCODE_V_FROM
,FT_DLCLASSCODE_V_NOTES
,FT_DLCLASSCODE_V_TO
,FT_DLCLASSCODE_W_FROM
,FT_DLCLASSCODE_W_NOTES
,FT_DLCLASSCODE_W_TO
Added new
diDocType
enum members:dtProfessionalCard
,dtRegistrationStamp
,dtDriverCard
,dtDriverTrainingCertificate
,dtQualificationDrivingLicense
,dtMembershipCard
,dtPublicVehicleDriverAuthorityCard
,dtMarineLicense
,dtTemporaryLearnerDrivingLicense
,dtTemporaryCommercialDrivingLicense
,dtInterimInstructionalPermit
,dtCertificateOfCompetency
,dtCertificateOfProficiency
Core:
Massive improvements in performance and quality across all modules.
Document detection and crop
Added capability to locate and recognize double page spread of the document in one image. There are passports, that have meaningful data not only on the data page, but also on the second page of the spread. To get the data from both pages in one go we have implemented this “Double page spread” mode. Disabled by default.
Added capability of smart detection of the document by its recognition. Document can be in any orientation, flat or with perspective distortion, hold in the hands like a book, etc. This greatly improves success rate on mobile and service use cases. Can be enabled/disabled in process parameters. By default, enabled for processing of static images and disabled for processing series of images from camera on mobile.
Optimized ID2 Visa stickers cropping from passport page.
Document type recognition
Improved performance of document type recognition by multiple algorithm optimizations.
Improved quality of document type recognition. Now document images with corrupted proportions, not fully visible in image, with high perspective distortion are correctly recognized in most possible cases.
Improved recognition of documents with non-standard proportions.
Improved algorithm of image resolution determination by using data from templates (laminated documents).
OCR
Added scenario
OcrFree
for arbitrary text OCR, based on provided parameters. You can define field definition template using mask and recognize any data, not only on documents.Added support for Armenian alphabet (lcid 1067).
Added support for Malta language (lcid 1082).
Added bank cards recognition in specific scenario.
Added recognition of registration stamp (address) in Russian Federation domestic passports.
Added recognition of CCC/CTC codes for China / Hong Kong documents.
Improved recognition of text with multiple languages in one field.
Improved recognition of special symbols, like @, ≤, ≥, *, _, etc.
All alphabets recognition is now based on neural networks (including Greek, Georgian, Azeri/Turkish).
All NN were re-trained on significantly larger datasets to ensure better recognition accuracy.
Improved recognition time.
Document templates were revisited for each field to assure correctness and high recognition accuracy based on statistics.
Perforated numbers OCR now available on all platforms (Ukraine domestic passport).
Optimized serial OCR recognition mode from multiple frames, based on recognition probability and matching results between frames.
Internal resource usage optimization that allowed to reduce memory impact and package size.
Text data parsing and validation
Added content validation for Belarus personal number.
Added parsing of Russian Federation registration address text into separate fields.
Added transliteration into Latin characters of all Cyrillic characters for Russian Federation domestic passports.
Added generation of MRZ for Russian Federation domestic passports without MRZ by its data.
Added generation of text name of issuing authority by its code for Russian Federation domestic passports.
Added date validation for revision
FT_FIRST_ISSUE_DATE
,FT_REVISION_DATE
&FT_DATE_OF_CREATION
.Added new country code XES (XC).
Added new calculated fields
FT_AGE_AT_ISSUE
,FT_YEARS_SINCE_ISSUE
based on date of issue of the document and date of birth for convenience.Fixed issue of conversion Albanian character ç into Latin c.
Fixed issue with
FT_DL_UNDER_18_DATE
,FT_DL_UNDER_19_DATE
,FT_DL_UNDER_21_DATE
fields validation.Fixed issues with date of expiry parsing for some documents, that do not expire (99-99-9999).
FT_MRZ_TYPE
field now present in text comparison results.Fixed issue with transliteration from Greek to Latin for specific exceptional cases.
MRZ
Added new parsers:
Bolivia Crew Member Certificate,
Canada Certificate Of Indian Status,
Canada Manitoba Enhanced Driving License,
Grenada Voter Card,
Moldova Crew Member Certificate,
Turkey ID Card,
Turkey Seamen's Book.
Updated parsers:
Bulgaria Registration Certificate,
Guatemala ID Card,
Kuwait ID Card,
Mexico Voting Card,
Sweden ID Card,
Sweden Residence Permit.
Barcode
Added new parsers:
Albania Driving License,
Albania Qualification Driving License,
Angola ID Card,
Argentina Driving License,
Brunei Darussalam Driving License,
Czech Republic ID Card,
Grenada Voter Card,
Haiti ID Card,
Jamaica Armed Forces ID Card,
Kosovo ID Card,
Latvia ID Card,
Malawi Driving License,
Malawi ID Card,
Mexico Quintana Roo Driving License,
Moldova Registration Certificate,
Namibia Driving License,
Netherlands Driving License,
Nigeria Driving License,
Nigeria ID Card,
Norway Driving License,
Panama Driving License,
Panama Seaman's Book,
Peru Visa,
Philippines Firearm License,
Russian Federation Driving License,
South Sudan ID Card,
Spain Seaman's book,
Sri Lanka ID Card,
Suriname Driving License,
Swaziland ID Card,
Turkey Work Permit.
Improved barcode parsers:
Bolivia Passport,
Cuba Passport,
Ecuador Passport,
Georgia ID Сard,
Grenada Passport,
Nigeria Driving License,
Philippines Professional ID Card,
Uganda ID Card,
United States Uniformed Services ID Card.
Image QA
Improved and integrated glare detection NN that provides result with ROI of glare areas on the image.
Improved image focus check NN.
Corrected / implemented serialization / deserialization of all results in JSON.
Fixed issue with cropping default portrait in case there is no face detected on the image.
Fixed issue with RFID date validity in text comparison results if Visual OCR result was incorrect.
Fixed issue with RFID text field Validity value serialization to JSON.
Multiple code improvements, memory leak fixes, internal optimizations, and tiny fixes.
August 23, 2019 - v5.0
API:
Added a new Core framework type
doctype
.Added a new scenario
Capture
, which allows obtaining a frame from the camera without image processing.Added possibility to set a separate scenario for the capture button (
captureButtonScenario
).Added correct display of RFID reading progress.
Added barcode parsing results (
DocumentReaderBarcodeResult
).Added possibility to set the measurement system in the final results: (
measureSystem
).Added possibility to get a full original image from which the final document image was obtained (
returnUncroppedImage
).Added possibility to change the status text of the tooltip.
Added the ability to change the alpha of the background mask around the frame.
Added new
eGraphicFieldType
enum member:GF_PORTRAIT_OF_CHILD.
Added new
eVisualFieldType
enum members:FT_DATE_FIRST_RENEWAL,
FT_DATE_SECOND_RENEWAL.
Added French localization.
Added new property
DocumentReader.Instance().licenseResult()
that contains information about the current license:expiryDate
: license expiration datecountryFilter
: codes of countries whose documents are available for OCR (if the array is empty, it means that there are no restrictions on countries).
Updated the logic of the
Ocr
scenario. Now it always returns a correct image of the document.Changed the logic of layout of the pictures for the startup animation (
helpAnimationImageID
), multi-page animation (multipageAnimationFrontImage
,multipageAnimationBackImage
) and background frame (borderBackgroundImage
). Now it is possible to change thescaleType
property for all the images listed above.Updated the logic of capture button operation. Added timers of button display after the start of scanning (
showCaptureButtonDelayFromStart
) or after the detection of document boundaries (showCaptureButtonDelayFromDetect
). By default, their values are 5 and 10 seconds, respectively.Changed the structure of the results. Now most of them contain the property
pageIndex
, which contains the index of the page from which the result was obtained.The
documentType
property in the final resultDocumentReaderResults
is now an array that contains information about each page that has been read.In the enum
eGraphicFieldType
, the valueGT_DOCUMENT_FRONT
is replaced by theGF_DOCUMENT_IMAGE
value. The valueGT_DOCUMENT_REAR
has been deleted. Now, to obtain the back side of the document, thepageIndex
property of the graphic field (DocumentReaderGraphicField
) should be used.Corrected the logic of calculating the final field validity status (
eCheckResult
).Fixed the logic of the
MrzAndLocate
scenario. Now it stops working only after detecting the MRZ and detecting the borders of the document containing this MRZ.Fixed the logic of the customization properties
statusPositionMultiplier
andresultStatusPositionMultiplier
.
Core:
Added OCR capability of Chinese Simplified and Traditional. Corresponding document templates updated.
Greatly improved OCR for next code pages (alphabets) and corresponding document templates updated:
Cyrillic (Belarusian, Bulgarian, Kazakh, Russian, Serbian, Ukrainian),
Baltic (Estonian, Latvian, Lithuanian),
Vietnamese,
Western European/Latin (English, French, Spanish, Portuguese, Dutch, Finnish, Icelandic, Italian, Norwegian, Swedish),
Georgian,
Turkish (Turkish, Azeri, Uzbek),
Hebrew.
Improved OCR of the documents with floating inconsistent personalization.
Implemented validation check between Issuing authority and document series in RussianFederation passports
Added new MRZ parsers:
Antigua and Barbuda Id Card,
Aruba DL,
Cuba ID card,
Ecuador ID card,
Uruguay ID card.
Added new barcode parsers:
Botswana Residence permit,
Cuba ID card,
Ghana DL,
Israel Entry/Exit permit,
Jamaica ID card,
Nicaragua Passport,
Mozambique Visa and Emergency certificate,
Togo ID card.
Improved recognition of non-ICAO format documents and laminated documents. Now we are not limited to standard ID sizes.
Fixed issue with Aztec codes detection.
Fixed issue with 9999 year in Date of expiry in Spanish ID cards.
Fixed issue with documents without expiration term in Bulgaria, Bolivia, Viet Nam.
Fixed issue with special symbols in text fields when performing partial value comparison to other sources.
Fixed issue with weight conversion if field contains code instead of actual weight value.
Fixed issue with country code incorrect validation in specific cases.
Fixed different minor issues with specific documents MRZ reading and correction.
550 new documents added.
244 countries and territories / 7572 documents included.
March 7, 2019 - v4.2
Added possibility to change the position of
Status
andResult Status
messagesAdded
skipFocusingFrames
property toFunctionality
Added
disableFocusingCheck
property toFunctionality
Added
showCameraSwitchBtn
property toFunctionality
Improved stability and reliability of continuous transmission of frames for further processing
Fixed memory leak on the devices with Android API < 21
Improved stability of
CameraActivity
Added German localization
Great improvements of OCR for Latin, Cyrillic, Hebrew, Vietnamese and Balkan alphabets, both speed and accuracy.
Added new MRZ parsers:
Mozambique ID card
Estonia Residence permit
Added new barcode parsers:
Haiti ID card,
Canada ID card
Added new member to the
eGraphicFieldType
enumeration:GF_STAMP
Added new members to the
eVisualFieldType
enumeration:FT_MOTHER_SURNAME
FT_MOTHER_GIVENNAME
FT_FATHER_SURNAME
FT_FATHER_GIVENNAME
FT_MOTHER_DATEOFBIRTH
FT_FATHER_DATEOFBIRTH
FT_MOTHER_PERSONALNUMBER
FT_FATHER_PERSONALNUMBER
FT_MOTHER_PLACEOFBIRTH
FT_FATHER_PLACEOFBIRTH
FT_MOTHER_COUNTRYOFBIRTH
FT_FATHER_COUNTRYOFBIRTH
243 countries and territories / 7037 documents included
268 new documents added
Last updated
Was this helpful?