Processing Results
Results Structure
After scanning process is completed, DocumentReaderResults
instance will be received. Result contains different result types:
DocumentReaderResults
└── ChipPage
└── OverallResult
└── ElapsedTime
└── ElapsedTimeRFID
└── ProcessingFinishedStatus
└── MorePagesAvailable
└── RfidResult
└── GraphicResult
└── TextResult
└── DocumentPosition
└── BarcodePosition
└── MrzPosition
└── ImageQuality
└── DocumentType
└── DocumentReaderNotification
└── RfidSessionData
└── AuthenticityResult
└── BarcodeResult
└── RawResult
└── DtcData
- ChipPage indicates the presence and location of an RFID chip in a document. 0—no RFID chip; 1—the chip is located in the document data page; 2—the chip is located in the back page or inlay of the document. Requires Document Type recognition, otherwise 1 by default;
- OverallResult - it's a summary of all results, one of
ECheckResult
enumeration values. If at least one result status was negative, overall result will be negative; - ElapsedTime indicates how much time has been required for document processing, milliseconds;
- ElapsedTimeRFID indicates how much time has been required for RFID chip processing, milliseconds;
- MorePagesAvailable indicates, if document has more pages (count) to be processed (e.g. ID card's front and back side). Requires Document Type recognition, otherwise 0 by default;
- RfidResult - result of RFID reading process, one of
ERFID_ErrorCodes
; - HighResolution indicates, if document is needed with high resolution, false by default;
- GraphicResult - graphic results;
- TextResult - text results;
- DocumentPosition - position of document blank result;
- BarcodePosition - position of found Barcode result;
- MrzPosition - position of the MRZ area;
- ImageQualityGroup - image quality result;
- DocumentType - document type result;
- DocumentReaderNotification - notification data about reading process. Used when RFID chip is read;
- RfidSessionData - results of work with the SDK within the context of the current communication session with electronic document;
- AuthenticityResult - authenticity results;
- BarcodeResult - barcode results;
- RawResult - contains results in the initial view, i.e. the raw view. Its structure and parameters are described on the Response Schema;
- dtcData - the DTC-VC data.
Graphic Result
These parameters are presented in DocumentReaderGraphicResult
class.
GraphicResult
└── Fields
| └── SourceType
| └── FieldType
| └── GetFieldName
| └── Light
| └── PageIndex
| └── GetData
| └── Rect
| | └── Bottom
| | └── Left
| | └── Right
| | └── Top
| └── ImageBase64
| └── GetBitmap
Parameter | Description |
---|---|
SourceType | Identifies zone whence data was extracted. ERPRM_ResultTypepyt class contains enumeration values |
FieldType | Field logical type, one of EGraphicFieldType values. Enumeration contains identifiers determining the logical type of the graphic data obtained while reading document filling fields or barcodes |
GetFieldName | Title of the FieldType |
Light | Indicates lightning scheme of the graphic field was taken in, one of ERPRM_Lights |
Rect | Field rectangular area coordinates on the image (for document filling fields reading results RprmResultTypeVisualOcrExtended ) |
PageIndex | Indicates an index of the document page, whence the result is received |
Text Result
The DocumentReaderTextResult
class contains the following parameters:
textResult
└── fields
| └── fieldType
| └── getFieldName
| └── lcid
| └── getLcidName
| └── value
| └── values
| | └── field
| | └── sourceType
| | └── value
| | └── originalValue
| | └── boundRect
| | └── rfidOrigin
| | └── pageIndex
| | └── probability
| | └── originalSymbols
| | | └── code
| | | └── rect
| | | └── probability
| └── status
| └── comparisonList
| | └── sourceTypeLeft
| | └── sourceTypeRight
| | └── status
| └── validityList
| | | └── sourceType
| | | └── status
| └── comparisonStatus
| └── validityStatus
└── status
└── availableSourceList
| └── sourceType
| └── source
| └── validityStatus
└── comparisonStatus
└── validityStatus
Parameter | Description |
---|---|
fields | An array of textual results, list of text fields extracted from the document. |
fieldType | The field logical type, one of the eVisualFieldType values. Enumeration contains identifiers determining the logical type of the text data obtained while reading MRZ, document filling fields, and barcodes. |
getFieldName | The title of the fieldType . |
lcid | The ID of language-culture to differentiate one field of the same type from another. The LCID enumeration contains available enumeration values. |
getLcidName | The title of the lcid . |
value | The value obtained from the field. |
values | An array of values:
|
status | Textual field check result, one of eCheckResult values. |
comparisonList | The list of all comparison statuses for this field type:
|
validityList | List of all validity statuses for this field type:
|
comparisonStatus | Comparison result of the field, one of the eCheckResult enum values. |
validityStatus | Validity result of the field, one of the eCheckResult enum values. |
status | Textual fields check result, one of the eCheckResult enum values. |
availableSourceList | The list of all available origin source with overall validity status of all text fields of a particular source type:
|
comparisonStatus | Comparison status of all text fields, one of the eCheckResult enum values. |
validityStatus | Validity status of all text fields, one of the eCheckResult enum values. |
Image Quality Group
These parameters are presented in ImageQualityGroup
class.
ImageQuality
└── Count
└── Result
└── ImageQualityList
| └── FeatureType
| └── Result
| └── Type
| └── BoundRects
Parameter | Description |
---|---|
Count | Number of results in the list |
Result | Overall check result, one of ECheckResult |
ImageQualityList | Array of single check result pointers, which contains:
|
Document Type Result
These parameters are presented in DocumentReaderDocumentType
class.
DocumentType
└── Name
└── DocumentID
└── ICAOCode
└── DType
└── Fdsid
└── DFormat
└── DMRZ
└── DDescription
└── DYear
└── DCountryName
└── PageIndex
Parameter | Description |
---|---|
Name | Document type name |
DocumentID | Document type numeric code |
ICAOCode | Document issuing country ICAO Code |
Fdsid | Array of IRS document identifiers |
DType | Document type, one of DiDocType enumeration values |
DFormat | Document format, one of DocFormat enumeration values |
DMRZ | Flag for MRZ presence on document |
DDescription | Document description text |
DYear | Document issue year |
DCountryName | Document issuing country name |
PageIndex | Indicates an index of the document page, whence the result is received |
Barcode Result
These parameters are presented in DocumentReaderBarcodeResult
class.
BarcodeResult
└── Fields
| └── BarcodeType
| └── Status
| └── Pdf417Info
| | └── ErrorLevel
| | └── Columns
| | └── Rows
| └── Data
| └── PageIndex
Parameter | Description |
---|---|
BarcodeType | Decoded barcode type, one of BarcodeType enumeration values |
Status | Indicates barcode reading result, one of BarcodeResult enumeration values or another value, which is SDK internal error code |
Pdf417Info | Contains the information about the PDF417 barcode. |
Data | Results of reading data from barcode modules |
PageIndex | Indicates an index of the document page, whence the result is received |
Document, MRZ, Barcode position
These parameters are presented in ElementPosition
class.
DocumentPosition / MrzPosition / BarcodePosition
└── DocFormat
└── Width
└── Height
└── Angle
└── Dpi
└── Inverse
└── PerspectiveTr
└── ObjArea
└── ObjIntAngleDev
└── ResultStatus
└── Center
| └── X
| └── Y
└── LeftTop
| └── X
| └── Y
└── LeftBottom
| └── X
| └── Y
└── RightTop
| └── X
| └── Y
└── RightBottom
| └── X
| └── Y
└── PageIndex
Parameter | Description |
---|---|
DocFormat | Document format, one of DocFormat enumeration values |
Width | Document width |
Height | Document height |
Angle | Document rotation angle |
Dpi | Resolution in dots per inch |
Inverse | Internal use parameter |
PerspectiveTr | Internal use parameter |
ObjArea | Internal use parameter |
ObjIntAngleDev | Internal use parameter |
ResultStatus | Internal use parameter, one of ECheckResult enumeration values |
Center | Document center coordinates |
LeftTop | Document left top corner coordinates |
LeftBottom | Document left bottom corner coordinates |
RightTop | Document right top corner coordinates |
RightBottom | Document right bottom corner coordinates |
PageIndex | Index of the document page, whence the result is received |
Authenticity Result
These parameters are presented in DocumentReaderAuthenticityResult
class.
AuthenticityResult
└── Checks
| └── Type
| └── Elements
| | └── Status
| | └── ElementType
| | └── ElementDiagnose
| | └── GetElementTypeName
| | └── GetElementDiagnoseName
| └── PageIndex
| └── GetTypeName
| └── Status
└── Status
Parameter | Description |
---|---|
Checks | Stores the result of document authenticity check using the images for different lighting schemes |
Type | Type of the performed check, one of ERPRM_Authenticity enumeration values |
ElementType | Element type, one of ERPRM_SecurityFeatureType enumeration values |
ElementDiagnose | Element diagnose, one of ECheckDiagnose enumeration values |
PageIndex | Index of the document page, whence the result is received |
Status | Overall check result, one of ECheckResult enumeration values |
RFID Result
These parameters are presented in RFIDSessionData
class.
RfidSessionData
└── AccessControls
| └── ActiveOptionIdx
| └── Notifications
| └── Status
| └── Type
└── Applications
| └── ApplicationID
| └── DataHashAlgorithm
| └── Files
| | └── FileData
| | | └── Data
| | | └── Length
| | | └── Status
| | | └── Type
| | └── FileID
| | └── Notifications
| | └── PAStatus
| | └── ReadingStatus
| | └── ReadingTime
| | └── Type
| | └── DocFieldsText
| | └── DocFieldsGraphics
| | └── DocFieldsOriginals
| | └── Certificates
| | | └── SecurityObject
| | | | └── Data
| | | | └── Length
| └── Status
| └── Type
| └── UnicodeVersion
| └── Version
└── SecurityObjects
| └── FileReference
| └── ObjectType
| └── Version
| └── SignerInfos
| | └── DataToHash
| | └── DigestAlgorithm
| | └── PaStatus
| | └── SignatureAlgorithm
| | └── Version
| | └── Issuer
| | | └── Attributes
| | | | └── Type
| | | | └── Value
| | | | | └── Data
| | | | | └── Length
| | | | | └── Status
| | | | | └── Type
| | | | | └── Format
| | | └── Data
| | | └── FriendlyName
| | | | └── Data
| | | | └── Length
| | | | └── Status
| | | | └── Type
| | | | └── Format
| | └── SerialNumber
| | | └── Data
| | | └── Length
| | | └── Status
| | | └── Type
| | | └── Format
| | └── Signature
| | | └── Data
| | | └── Length
| | | └── Status
| | | └── Type
| | | └── Format
| | └── SignedAttributes
| | | └── Data
| | | └── Type
| | └── SubjectKeyIdentifier
| | | └── Data
| | | └── Length
| | | └── Status
| | | └── Type
| | | └── Format
| | └── CertificateChain
| | | └── Extensions
| | | | └── Data
| | | | └── Type
| | | └── FileName
| | | | └── Data
| | | | └── Length
| | | | └── Status
| | | | └── Type
| | | | └── Format
| | | └── Issuer
| | | | └── Attributes
| | | | | └── Type
| | | | | └── Value
| | | | | | └── Data
| | | | | | └── Length
| | | | | | └── Status
| | | | | | └── Type
| | | | | | └── Format
| | | | └── Data
| | | | └── FriendlyName
| | | | | └── Data
| | | | | └── Length
| | | | | └── Status
| | | | | └── Type
| | | | | └── Format
| | | └── Notifications
| | | └── Origin
| | | └── PaStatus
| | | └── SerialNumber
| | | └── SignatureAlgorithm
| | | └── Subject
| | | | └── Attributes
| | | | | └── Type
| | | | | └── Value
| | | | | | └── Data
| | | | | | └── Length
| | | | | | └── Status
| | | | | | └── Type
| | | | | | └── Format
| | | | └── Data
| | | | └── FriendlyName
| | | | | └── Data
| | | | | └── Length
| | | | | └── Status
| | | | | └── Type
| | | | | └── Format
| | | └── SubjectPKAlgorithm
| | | └── Type
| | | └── Validity
| | | | └── NotAfter
| | | | | └── Data
| | | | | └── Length
| | | | | └── Status
| | | | | └── Type
| | | | | └── Format
| | | | └── NotBefore
| | | | | └── Data
| | | | | └── Length
| | | | | └── Status
| | | | | └── Type
| | | | | └── Format
| | | └── Version
| | └── Notifications
| └── Notifications
└── CardProperties
| └── ATQA
| └── ATQB
| └── ATR
| └── Baudrate1
| └── Baudrate2
| └── BitRateR
| └── BitRateS
| └── ChipTypeA
| └── MifareMemory
| └── RfidType
| └── SAK
| └── Support4
| └── SupportMifare
| └── UID
└── TotalBytesReceived
└── TotalBytesSent
└── Status
└── ExtLeSupport
└── ProcessTime
└── SessionDataStatus
| └── Aa
| └── Bac
| └── Ca
| └── Pa
| └── Pace
| └── Ta
| └── OverallStatus
Parameter | Description |
---|---|
AccessControls | list of containers to store information about the supported procedures of authentication and secure data access within the context of the session |
ActiveOptionIdx | index of the active variant of the procedure |
Notifications | list of remarks arisen during the procedure |
Status | procedure status (RfidErrorNotPerformed, RfidErrorNotAvailable, RfidErrorNoError or the error code from ERFID_ErrorCodes enumeration) |
Type | procedure type (one of ERFID_AccessControl_ProcedureType enumeration values) |
Applications | list of containers to store information about the involved applications of electronic document |
ApplicationID | application identifier |
DataHashAlgorithm | algorithm for calculating hash values for files for the procedure of PA |
Files | list of containers to store information about the read files of the application |
UnicodeVersion | Unicode version for application |
SecurityObjects | list of containers to store information about the detected document security objects |
FileReference | reference to the source file of the security object data |
ObjectType | security object identifier |
SignerInfos | list of containers to store information about digital signature objects contained in the SO |
DigestAlgorithm | digital signature hash-function algorithm identifier |
PaStatus | result of the digital signature verification (RfidErrorNotPerformed, RfidErrorNoError or RfidErrorFailed); |
SignatureAlgorithm | digital signature algorithm identifier |
Issuer | identifier of the necessary certificate issuer |
SerialNumber | serial number of the necessary certificate |
Signature | binary data of the verified digital signature |
SignedAttributes | list of the signed attributes |
SubjectKeyIdentifier | signature object identifier of the necessary certificate |
CertificateChain | certificate chain, used for the digital signature verification |
CardProperties | set of electronic document chip characteristics |
ATQA | numeric ATQ_A value in hexadecimal format (e.g. "0x0000") |
ATQB | ATQ_B contents in text format. Each byte is represented by its hexadecimal value. The individual bytes are separated by spaces (e.g. "50 F9 4F 41 60 00 00 00 00 77 81 81") |
ATR | pAtr contents in text format. Each byte is represented by its hexadecimal value. The individual bytes are separated by spaces (e.g. "3B 88 81 11 FC 00 00 00 00 77 81 81 00 93") |
Baudrate1 | numeric Baudrate1 value in hexadecimal format (e.g. "0x0000000F") |
Baudrate2 | numeric Baudrate2 value in hexadecimal format |
BitRateR | numeric BitRateR value in hexadecimal format (e.g. "0x04") |
BitRateS | numeric BitRateS value in hexadecimal format (e.g. "0x04") |
ChipTypeA | text abbreviation of ChipType_A value |
MifareMemory | numeric MifareMemory value |
RfidType | text abbreviation of RFID_Type value |
SAK | numeric SAK value in hexadecimal format (e.g. "0x00") |
Support4 | boolean Support_4 value |
SupportMifare | boolean Support_Mifare value |
UID | UID contents in text format. Each byte is represented by its hexadecimal value. The individual bytes are separated by spaces (e.g. "F9 4F 41 60") |
TotalBytesReceived | total number of bytes received from the RFID-chip during the whole session |
TotalBytesSent | total number of bytes transmitted to the RFID-chip during the whole session |
ExtLeSupport | sign of support of RFID-chip for extended length commands of reading (RfidErrorNotPerformed, RfidErrorNotAvailable or RfidErrorNoError) |
ProcessTime | total time of all operations performed during the session, ms |
Aa | AA status, one of ECheckResult values |
Bac | BAC status, one of ECheckResult values |
CA | CA status, one of ECheckResult values |
Pa | PA status, one of ECheckResult values |
Pace | PACE status, one of ECheckResult values |
Ta | TA status, one of ECheckResult values |
OverallStatus | overall status, one of ECheckResult values |
After scanning process is completed, RGLDocumentReaderResults
instance will be received. Result contains different result types:
DocumentReaderResults
└── DocumentType
└── TextResult
└── GraphicResult
└── DocumentPosition
└── BarcodePosition
└── MrzPosition
└── ImageQualityGroup
└── OverallResult
└── AuthenticityResults
└── RfidSessionData
└── ChipPage
└── ResolutionType
└── BarcodeResult
└── ProcessingFinishedStatus
└── MorePagesAvailable
└── ElapsedTime
└── ElapsedTimeRFID
└── RawResult
- DocumentType - document type result;
- TextResult - text results;
- GraphicResult - graphic results;
- DocumentPosition - position of document blank result;
- BarcodePosition - position of found Barcode result;
- MrzPosition - position of the MRZ area;
- ImageQualityGroup - image quality result;
- OverallResult - it's a summary of all results, one of the
RGLCheckResult
enumeration values. If at least one result status was negative, overall result will be negative; - AuthenticityResults - authenticity results;
- RfidSessionData - results of work with the SDK within the context of the current communication session with electronic document;
- ChipPage indicates the presence and location of an RFID chip in a document. 0—no RFID chip; 1—the chip is located in the document data page; 2—the chip is located in the back page or inlay of the document. Requires Document Type recognition, otherwise 1 by default;
- ResolutionType - it's an image resolution, one of the
RGLResolutionType
enumeration values; - BarcodeResult - barcode results;
- ElapsedTime indicates how much time has been required for document processing, milliseconds;
- ElapsedTimeRFID indicates how much time has been required for RFID chip processing, milliseconds;
- RawResult - contains results in the initial view, i.e. the raw view. Its structure and parameters are described on the Response Schema.
Document Type Result
These parameters are presented in RGLDocumentReaderDocumentType
class.
DocumentType
└── Name
└── DocumentID
└── ICAOCode
└── FDSID
└── DType
└── DFormat
└── DMRZ
└── DDescription
└── DYear
└── DCountryName
└── PageIndex
Parameter | Description |
---|---|
Name | Document type name |
DocumentID | Document type numeric code |
ICAOCode | Document issuing country ICAO Code |
FDSID | Array of IRS document identifiers |
DType | Document type, one of RGLDiDocType enumeration values |
DFormat | Document format, one of RGLDocFormat enumeration values |
DMRZ | Flag for MRZ presence on document |
DDescription | Document description text |
DYear | Document issue year |
DCountryName | Document issuing country name |
PageIndex | Indicates an index of the document page, whence the result is received |
Text Result
The RGLDocumentReaderTextResult
class contains the following parameters:
textResult
└── fields
| └── fieldType
| └── fieldName
| └── lcid
| └── lcidName
| └── value
| └── values
| | └── field
| | └── sourceType
| | └── value
| | └── originalValue
| | └── boundRect
| | └── rfidOrigin
| | └── pageIndex
| | └── probability
| | └── originalSymbols
| | | └── code
| | | └── rect
| | | └── probability
| └── status
| └── comparisonList
| | └── sourceTypeLeft
| | └── sourceTypeRight
| | └── status
| └── validityList
| | | └── sourceType
| | | └── status
| └── comparisonStatus
| └── validityStatus
└── status
└── availableSourceList
| └── sourceType
| └── source
| └── validityStatus
└── comparisonStatus
└── validityStatus
Parameter | Description |
---|---|
fields | An array of textual results, list of text fields extracted from the document. |
fieldType | The field logical type, one of the FieldType values. Enumeration contains identifiers determining the logical type of the text data obtained while reading MRZ, document filling fields, and barcodes. |
fieldName | The title of the fieldType . |
lcid | The ID of language-culture to differentiate one field of the same type from another. The LCID enumeration contains available enumeration values. |
lcidName | The title of the lcid . |
value | The value obtained from the field. |
values | An array of values:
|
status | The textual field check result, one of RGLCheckResult values. |
comparisonList | The list of all comparison statuses for this field type:
|
validityList | List of all validity statuses for this field type:
|
comparisonStatus | Comparison result of the field, one of the RGLCheckResult enum values. |
validityStatus | Validity result of the field, one of the RGLCheckResult enum values. |
status | Textual fields check result, one of the RGLCheckResult enum values. |
availableSourceList | The list of all available origin source with overall validity status of all text fields of a particular source type:
|
comparisonStatus | Comparison status of all text fields, one of the RGLCheckResult enum values. |
validityStatus | Validity status of all text fields, one of the RGLCheckResult enum values. |
Graphic Result
These parameters are presented in RGLDocumentReaderGraphicResult
class.
GraphicResult
└── Fields
| └── SourceType
| └── FieldType
| └── FieldName
| └── BoundRect
| └── Value
| └── LightType
| └── LightName
| └── PageIndex
Parameter | Description |
---|---|
SourceType | Identifies zone whence data was extracted. RGLResultType class contains enumeration values |
FieldType | Field logical type, one of RGLGraphicFieldType values. Enumeration contains identifiers determining the logical type of the graphic data obtained while reading document filling fields or barcodes |
FieldName | Title of the FieldType |
BoundRect | Field rectangular area coordinates on the image (for document filling fields reading results VisualOCRExtended (RGLResultType enumeration)) |
Value | Value which was obtained |
LightType | Light type, one of RGLGraphicFieldLight values. Enumeration contains a set of identifiers used for identifying document reader possibilities, specifying lighting schemes for scanning etc. |
LightName | Title of the LightType |
PageIndex | Indicates an index of the document page, whence the result is received |
Image Quality Group
These parameters are presented in RGLImageQualityGroup
class.
ImageQuality
└── Count
└── Result
└── ImageQualityList
| └── Type
| └── Result
| └── FeatureType
| └── BoundRects
Parameter | Description |
---|---|
Count | Number of results in the list |
Result | Overall check result, one of RGLResultType enumeration values |
ImageQualityList | Array of single check result pointers, which contains:
|
Barcode Result
These parameters are presented in RGLDocumentReaderBarcodeResult
class.
BarcodeResult
└── Fields
| └── BarcodeType
| └── Status
| └── Pdf417Info
| | └── ErrorLevel
| | └── Columns
| | └── Rows
| └── Data
| └── PageIndex
Parameter | Description |
---|---|
BarcodeType | Decoded barcode type, one of RGLBarcodeType enumeration values |
Status | Indicates barcode reading result, one of RGLBarcodeResult enumeration values or another value, which is SDK internal error code |
Pdf417Info | Contains the information about the PDF417 barcode, which includes the following parameters:
|
Data | Results of reading data from barcode modules |
PageIndex | Indicates an index of the document page, whence the result is received |
Document, MRZ, Barcode position
These parameters are presented in RGLPosition
class.
DocumentPosition / MrzPosition / BarcodePosition
└── Size
| └── Width
| └── Height
└── Center
| └── X
| └── Y
└── LeftTop
| └── X
| └── Y
└── LeftBottom
| └── X
| └── Y
└── RightTop
| └── X
| └── Y
└── RightBottom
| └── X
| └── Y
└── Angle
└── PerspectiveTr
└── ObjArea
└── ObjIntAngleDev
└── ResultStatus
└── DocFormat
└── PageIndex
└── Dpi
└── Inverse
Parameter | Description |
---|---|
Size | Document width and height |
Center | Document center coordinates |
LeftTop | Document left top corner coordinates |
LeftBottom | Document left bottom corner coordinates |
RightTop | Document right top corner coordinates |
RightBottom | Document right bottom corner coordinates |
Angle | Document rotation angle |
PerspectiveTr | Internal use parameter |
ObjArea | Internal use parameter |
ObjIntAngleDev | Internal use parameter |
ResultStatus | Internal use parameter, one of RGLCheckResult enumeration values |
DocFormat | Document format, one of RGLDocFormat enumeration values |
PageIndex | Index of the document page, whence the result is received |
Dpi | Resolution in dots per inch |
Inverse | Internal use parameter |
Authenticity Result
These parameters are presented in RGLDocumentReaderAuthenticityResult
class.
AuthenticityResults
└── Status
└── Checks
| └── Type
| └── TypeName
| └── Status
| └── Elements
| | └── Status
| | └── ElementType
| | └── ElementTypeName
| | └── ElementDiagnose
| | └── ElementDiagnoseName
| └── PageIndex
Parameter | Description |
---|---|
Status | Overall check result, one of RGLCheckResult enumeration values |
Checks | Stores the result of document authenticity check using the images for different lighting schemes |
Type | Type of the performed check, one of RGLAuthenticity enumeration values |
TypeName | Title of the Type |
ElementType | Element type, one of RGLSecurityFeatureType enumeration values |
ElementTypeName | Title of the ElementType |
ElementDiagnose | Element diagnose, one of RGLCheckDiagnose enumeration values |
ElementDiagnoseName | Title of the ElementDiagnose |
PageIndex | Index of the document page, whence the result is received |
RFID Result
These parameters are presented in RGLRFIDSessionData
class.
RfidSessionData
└── AccessControls
| └── ActiveOptionIdx
| └── Notifications
| └── Status
| └── Type
└── Applications
| └── ApplicationID
| └── DataHashAlgorithm
| └── Files
| | └── FileData
| | | └── Data
| | | └── Length
| | | └── Status
| | | └── Type
| | └── FileID
| | └── Notifications
| | └── PAStatus
| | └── ReadingStatus
| | └── ReadingTime
| | └── Type
| | └── TypeName
| | └── DocFieldsText
| | └── DocFieldsGraphics
| | └── DocFieldsOriginals
| | └── Certificates
| | | └── SecurityObject
| | | | └── Data
| | | | └── Length
| └── Type
| └── Status
| └── UnicodeVersion
| └── Version
└── SecurityObjects
| └── FileReference
| └── ObjectType
| └── Version
| └── SignerInfos
| | └── DataToHash
| | └── DigestAlgorithm
| | └── PaStatus
| | └── SignatureAlgorithm
| | └── Version
| | └── Issuer
| | | └── Attributes
| | | | └── Type
| | | | └── Value
| | | | | └── Data
| | | | | └── Length
| | | | | └── Status
| | | | | └── Type
| | | | | └── Format
| | | └── Data
| | | └── FriendlyName
| | | | └── Data
| | | | └── Length
| | | | └── Status
| | | | └── Type
| | | | └── Format
| | └── SerialNumber
| | | └── Data
| | | └── Length
| | | └── Status
| | | └── Type
| | | └── Format
| | └── Signature
| | | └── Data
| | | └── Length
| | | └── Status
| | | └── Type
| | | └── Format
| | └── SignedAttributes
| | | └── Data
| | | └── Type
| | └── SubjectKeyIdentifier
| | | └── Data
| | | └── Length
| | | └── Status
| | | └── Type
| | | └── Format
| | └── CertificateChain
| | | └── Extensions
| | | | └── Data
| | | | └── Type
| | | └── FileName
| | | | └── Data
| | | | └── Length
| | | | └── Status
| | | | └── Type
| | | | └── Format
| | | └── Issuer
| | | | └── Attributes
| | | | | └── Type
| | | | | └── Value
| | | | | | └── Data
| | | | | | └── Length
| | | | | | └── Status
| | | | | | └── Type
| | | | | | └── Format
| | | | └── Data
| | | | └── FriendlyName
| | | | | └── Data
| | | | | └── Length
| | | | | └── Status
| | | | | └── Type
| | | | | └── Format
| | | └── Notifications
| | | └── Origin
| | | └── PaStatus
| | | └── SerialNumber
| | | └── SignatureAlgorithm
| | | └── Subject
| | | | └── Attributes
| | | | | └── Type
| | | | | └── Value
| | | | | | └── Data
| | | | | | └── Length
| | | | | | └── Status
| | | | | | └── Type
| | | | | | └── Format
| | | | └── Data
| | | | └── FriendlyName
| | | | | └── Data
| | | | | └── Length
| | | | | └── Status
| | | | | └── Type
| | | | | └── Format
| | | └── SubjectPKAlgorithm
| | | └── Type
| | | └── Validity
| | | | └── NotAfter
| | | | | └── Data
| | | | | └── Length
| | | | | └── Status
| | | | | └── Type
| | | | | └── Format
| | | | └── NotBefore
| | | | | └── Data
| | | | | └── Length
| | | | | └── Status
| | | | | └── Type
| | | | | └── Format
| | | └── Version
| | └── Notifications
| └── Notifications
└── CardProperties
| └── ATQA
| └── ATQB
| └── ATR
| └── Baudrate1
| └── Baudrate2
| └── BitRateR
| └── BitRateS
| └── ChipTypeA
| └── MifareMemory
| └── RfidType
| └── SAK
| └── Support4
| └── SupportMifare
| └── UID
└── TotalBytesReceived
└── TotalBytesSent
└── Status
└── ExtLeSupport
└── ProcessTime
└── SessionDataStatus
| └── AA
| └── BAC
| └── CA
| └── PA
| └── PACE
| └── TA
| └── OverallStatus
Parameter | Description |
---|---|
AccessControls | list of containers to store information about the supported procedures of authentication and secure data access within the context of the session |
ActiveOptionIdx | index of the active variant of the procedure |
Notifications | list of remarks arisen during the procedure |
Status | procedure status (NotPerformed, NotAvailable, NoError or the error code from RGLRFIDErrorCodes enumeration |
Type | procedure type (one of RGLRFIDAccessControlProcedureType enumeration values) |
Applications | list of containers to store information about the involved applications of electronic document |
ApplicationID | application identifier |
DataHashAlgorithm | algorithm for calculating hash values for files for the procedure of PA |
Files | list of containers to store information about the read files of the application |
UnicodeVersion | Unicode version for application |
SecurityObjects | list of containers to store information about the detected document security objects |
FileReference | reference to the source file of the security object data |
ObjectType | security object identifier |
SignerInfos | list of containers to store information about digital signature objects contained in the SO |
DigestAlgorithm | digital signature hash-function algorithm identifier |
PaStatus | result of the digital signature verification (NotPerformed, NoError or Failed); |
SignatureAlgorithm | digital signature algorithm identifier |
Issuer | identifier of the necessary certificate issuer |
SerialNumber | serial number of the necessary certificate |
Signature | binary data of the verified digital signature |
SignedAttributes | list of the signed attributes |
SubjectKeyIdentifier | signature object identifier of the necessary certificate |
CertificateChain | certificate chain, used for the digital signature verification |
CardProperties | set of electronic document chip characteristics |
ATQA | numeric ATQ_A value in hexadecimal format (e.g. "0x0000") |
ATQB | ATQ_B contents in text format. Each byte is represented by its hexadecimal value. The individual bytes are separated by spaces (e.g. "50 F9 4F 41 60 00 00 00 00 77 81 81") |
ATR | pAtr contents in text format. Each byte is represented by its hexadecimal value. The individual bytes are separated by spaces (e.g. "3B 88 81 11 FC 00 00 00 00 77 81 81 00 93") |
Baudrate1 | numeric Baudrate1 value in hexadecimal format (e.g. "0x0000000F") |
Baudrate2 | numeric Baudrate2 value in hexadecimal format |
BitRateR | numeric BitRateR value in hexadecimal format (e.g. "0x04") |
BitRateS | numeric BitRateS value in hexadecimal format (e.g. "0x04") |
ChipTypeA | text abbreviation of ChipType_A value |
MifareMemory | numeric MifareMemory value |
RfidType | text abbreviation of RFID_Type value |
SAK | numeric SAK value in hexadecimal format (e.g. "0x00") |
Support4 | boolean Support_4 value |
SupportMifare | boolean Support_Mifare value |
UID | UID contents in text format. Each byte is represented by its hexadecimal value. The individual bytes are separated by spaces (e.g. "F9 4F 41 60") |
TotalBytesReceived | total number of bytes received from the RFID-chip during the whole session |
TotalBytesSent | total number of bytes transmitted to the RFID-chip during the whole session |
ExtLeSupport | sign of support of RFID-chip for extended length commands of reading (NotPerformed, NotAvailable or NoError) |
ProcessTime | total time of all operations performed during the session, ms |
AA | AA status, one of RGLCheckResult values |
BAC | BAC status, one of RGLCheckResult values |
CA | CA status, one of RGLCheckResult values |
PA | PA status, one of RGLCheckResult values |
PACE | PACE status, one of RGLCheckResult values |
TA | TA status, one of RGLCheckResult values |
OverallStatus | overall status, one of RGLCheckResult values |
Getting results
Text Results
To get values of text fields, invoke the getTextFieldValueByType
method with the required arguments:
Argument | Compulsory/optional | Description |
---|---|---|
fieldType |
Compulsory | The field logical type, one of the eVisualFieldType (Android) / FieldType (iOS) enumeration values. The enumeration contains identifiers determining the logical type of the text data obtained while reading MRZ, document filling fields, and barcodes. |
lcid |
Optional | The ID of language-culture to differentiate one field of the same type from another. Contains an LCID (Android, iOS) enumeration value. |
source |
Optional | Identifies the zone from which data should be extracted. Contains an eRPRM_ResultType (Android) / RGLResultType (iOS) enumeration value. |
original |
Optional | Checks which value to extract: modified or original. |
Getting values
Getting values of text fields indicating fieldType
:
// Get full name
var surnameAndGivenNames = results.GetTextFieldValueByType(EVisualFieldType.FtSurnameAndGivenNames);
// Get date of birth
var dateOfBirth = results.GetTextFieldValueByType(EVisualFieldType.FtDateOfBirth);
// Get document number
var documentNumber = results.GetTextFieldValueByType(EVisualFieldType.FtDocumentNumber);
// Get full name
var surnameAndGivenNames = results.GetTextFieldValueByType(RGLFieldType.Surname_And_Given_Names);
// Get date of birth
var dateOfBirth = results.GetTextFieldValueByType(RGLFieldType.Date_of_Birth);
// Get document number
var documentNumber = results.GetTextFieldValueByType(RGLFieldType.Document_Number);
Getting values of text fields indicating fieldType
, lcid
:
// Get full name
var surnameAndGivenNames = results.GetTextFieldValueByType(EVisualFieldType.FtSurnameAndGivenNames, LCID.Indonesian);
// Get place of birth
var placeOfBirth = results.GetTextFieldValueByType(EVisualFieldType.FtPlaceOfBirth, LCID.GermanGermany);
// Get full name
var surnameAndGivenNames = results.GetTextFieldValueByType(RGLFieldType.Surname_And_Given_Names, Rgllcid.Indonesian);
// Get place of birth
var placeOfBirth = results.GetTextFieldValueByType(RGLFieldType.Place_of_Birth, Rgllcid.GermanGermany);
Getting values of text fields indicating fieldType
, lcid
, source
:
// Get full name
var surnameAndGivenNames = results.GetTextFieldValueByType(EVisualFieldType.FtSurnameAndGivenNames, LCID.Indonesian, ERPRM_ResultType.RprmResultTypeVisualOcrExtended);
// Get address
var address = results.GetTextFieldValueByType(EVisualFieldType.FtAddress, LCID.Latin, ERPRM_ResultType.RprmResultTypeBarCodesTextData);
// Get full name
var surnameAndGivenNames = results.GetTextFieldValueByType(RGLFieldType.Surname_And_Given_Names, Rgllcid.Indonesian, RGLResultType.VisualOCRExtended);
// Get address
var address = results.GetTextFieldValueByType(RGLFieldType.Address, Rgllcid.Latin, RGLResultType.BarCodesTextData);
Getting values of text fields indicating fieldType
, lcid
, source
, original
:
// Get surname
var surname = results.GetTextFieldValueByType(EVisualFieldType.FtSurname, LCID.Indonesian, ERPRM_ResultType.RprmResultTypeVisualOcrExtended, true);
// Get address
var address = results.GetTextFieldValueByType(EVisualFieldType.FtAddress, LCID.Latin, ERPRM_ResultType.RprmResultTypeBarCodesTextData, true);
// Get surname
var name = results.GetTextFieldValueByType(RGLFieldType.Surname, Rgllcid.Indonesian, RGLResultType.VisualOCRExtended, true);
// Get address
var address = results.GetTextFieldValueByType(RGLFieldType.Address, Rgllcid.Latin, RGLResultType.BarCodesTextData, true);
Getting values of text fields indicating fieldType
, source
:
// Get surname
var surname = results.GetTextFieldValueByTypeAndSource(EVisualFieldType.FtSurname, ERPRM_ResultType.RprmResultTypeVisualOcrExtended);
// Get surname
var surname = results.GetTextFieldValueByType(RGLFieldType.Surname, RGLResultType.VisualOCRExtended);
Getting values of text fields indicating fieldType
, source
, original
:
// Get surname
var surname = results.GetTextFieldValueByTypeAndSource(EVisualFieldType.FtSurname, ERPRM_ResultType.RprmResultTypeVisualOcrExtended, true);
// Get surname
var surname = results.GetTextFieldValueByType(RGLFieldType.Surname, RGLResultType.VisualOCRExtended, true);
Getting values of text fields indicating fieldType
, original
:
// Get surname
var surname = results.GetTextFieldValueByType(RGLFieldType.Surname, true);
You can also go through all instances of text fields and obtain the desired information, for example:
foreach (DocumentReaderTextField textField in results.TextResult.Fields)
{
var value = results.GetTextFieldValueByType(textField.FieldType, textField.Lcid);
Log.Debug("MainActivity", value + "\n");
}
foreach (var textField in results.TextResult.Fields)
{
var value = result.GetTextFieldValueByType(textField.FieldType, textField.Lcid);
Console.WriteLine("Value: {0}", value);
}
Getting statuses
Getting statuses of text fields indicating fieldType
(one of ECheckResult
values):
// Get status of FT_SURNAME_AND_GIVEN_NAMES
var surnameAndGivenNames = results.GetTextFieldStatusByType(EVisualFieldType.FtSurnameAndGivenNames);
// Get status of FT_DATE_OF_BIRTH
var dateOfBirth = results.GetTextFieldStatusByType(EVisualFieldType.FtDateOfBirth);
Getting statuses of text fields indicating fieldType
, lcid
(one of ECheckResult
values):
// Get status of FT_SURNAME_AND_GIVEN_NAMES
var surnameAndGivenNames = results.GetTextFieldStatusByType(EVisualFieldType.FtSurnameAndGivenNames, LCID.Indonesian);
// Get status of FT_DATE_OF_BIRTH
var dateOfBirth = results.GetTextFieldStatusByType(EVisualFieldType.FtDateOfBirth, LCID.Latin);
Getting instances
Getting instances of text fields indicating fieldType
:
// Get a surname instance
DocumentReaderTextField textField = results.GetTextFieldByType(EVisualFieldType.FtSurname);
// Get a surname instance
var surname = results.GetTextFieldByType(RGLFieldType.Surname);
Getting instances of graphic fields indicating fieldType
, lcid
:
// Get a surname instance
DocumentReaderTextField textField = results.GetTextFieldByType(EVisualFieldType.FtSurname, LCID.Indonesian);
// Get a surname instance
var surname = results.GetTextFieldByType(RGLFieldType.Surname, Rgllcid.Indonesian);
Graphic Results
To get values of graphic fields, invoke the getGraphicFieldImageByType
method with the required arguments:
Argument | Compulsory/optional | Description |
---|---|---|
fieldType |
Compulsory | The field logical type, one of the eGraphicFieldType (Android) / RGLGraphicFieldType / enumeration values (iOS). The enumeration contains identifiers determining the logical type of the graphic data obtained while reading the document filling fields or barcodes. |
source |
Optional | Identifies the zone from which data should be extracted. The eRPRM_ResultType (Android) / RGLResultType (iOS) enumeration contains possible values. |
pageIndex |
Optional | The index of the document page from which the result is received. |
light |
Optional | The light type, one of the eRPRM_Lights (Android) / RGLGraphicFieldLight (iOS) values. The enumeration contains a set of identifiers used for identifying the document reader possibilities, specifying lighting schemes for scanning, etc. |
Getting values
Getting values of graphic fields indicating fieldType
:
// Get document image
var documentImage = results.GetGraphicFieldImageByType(EGraphicFieldType.GfDocumentImage);
// Get portrait image
var portrait = results.GetGraphicFieldImageByType(EGraphicFieldType.GfPortrait);
// Get document image
var documentImage = results.GetGraphicFieldImageByType(RGLGraphicFieldType.DocumentImage);
// Get portrait image
var portrait = results.GetGraphicFieldImageByType(RGLGraphicFieldType.Portrait);
Getting values of graphic fields indicating fieldType
, source
:
// Get document image
var documentImage = results.GetGraphicFieldImageByType(EGraphicFieldType.GfDocumentImage, ERPRM_ResultType.RprmResultTypeRawImage);
// Get document image (uncropped)
var documentImageUncropped = results.GetGraphicFieldImageByType(EGraphicFieldType.GfDocumentImage, ERPRM_ResultType.RprmResultTypeRawUncroppedImage);
// Get portrait image
var portrait = results.GetGraphicFieldImageByType(EGraphicFieldType.GfPortrait, ERPRM_ResultType.RprmResultTypeGraphics);
// Get document image
var documentImage = results.GetGraphicFieldImageByType(RGLGraphicFieldType.DocumentImage, RGLResultType.RawImage);
// Get document image (uncropped)
var documentImageUncropped = results.GetGraphicFieldImageByType(RGLGraphicFieldType.DocumentImage, RGLResultType.RawUncroppedImage);
// Get portrait image
var portrait = results.GetGraphicFieldImageByType(RGLGraphicFieldType.Portrait, RGLResultType.Graphics);
Getting values of graphic fields indicating fieldType
, source
, pageIndex
:
// Get document image from the second page
var documentImage = results.GetGraphicFieldImageByType(EGraphicFieldType.GfDocumentImage, ERPRM_ResultType.RprmResultTypeRawImage, 1);
// Get portrait image from the first page
var portrait = results.GetGraphicFieldImageByType(EGraphicFieldType.GfPortrait, ERPRM_ResultType.RprmResultTypeGraphics, 0);
// Get document image from the second page
var documentImage = results.GetGraphicFieldImageByType(RGLGraphicFieldType.DocumentImage, RGLResultType.RawImage, 1);
// Get portrait image from the first page
var portrait = results.GetGraphicFieldImageByType(RGLGraphicFieldType.Portrait, RGLResultType.Graphics, 0);
Getting values of graphic fields indicating fieldType
, source
, pageIndex
, light
:
// Get document image from the first page with white light
var documentImageWhite = results.GetGraphicFieldImageByType(EGraphicFieldType.GfDocumentImage, ERPRM_ResultType.RprmResultTypeRawImage, 0, ERPRM_Lights.RprmLightWhiteFull);
// Get document image from the first page with UV light
var documentImageUV = results.GetGraphicFieldImageByType(EGraphicFieldType.GfDocumentImage, ERPRM_ResultType.RprmResultTypeRawImage, 0, ERPRM_Lights.RprmLightUv);
// Get document image from the first page with white light
var documentImageWhite = results.GetGraphicFieldImageByType(RGLGraphicFieldType.DocumentImage, RGLResultType.RawImage, 0, RGLGraphicFieldLight.White);
// Get document image from the first page with UV light
var documentImageUV = results.GetGraphicFieldImageByType(RGLGraphicFieldType.DocumentImage, RGLResultType.RawImage, 0, RGLGraphicFieldLight.Uv);
Getting statuses
Getting statuses of graphic fields indicating imageQualityCheckType
(one of ECheckResult
values):
// Get status of an image's focus
var imageFocus = results.GetQualityResult(EImageQualityCheckType.IqcImageFocus);
// Get status of images' glares
var imageGlares = results.GetQualityResult(EImageQualityCheckType.IqcImageGlares);
Getting statuses of graphic fields indicating imageQualityCheckType
, securityFeature
(one of ECheckResult
values):
// Get status of images' glares
var blank = results.GetQualityResult(EImageQualityCheckType.IqcImageGlares, ERPRM_SecurityFeatureType.SecurityFeatureTypeBlank);
var mrz = results.GetQualityResult(EImageQualityCheckType.IqcImageGlares, ERPRM_SecurityFeatureType.SecurityFeatureTypeMrz);
Getting instances
Getting instances of graphic fields indicating fieldType
:
// Get a documentImage instance
var documentImage = results.GetGraphicFieldByType(RGLGraphicFieldType.DocumentImage);
Getting instances of graphic fields indicating fieldType
, source
:
DocumentReaderGraphicField graphicField = results.GetGraphicFieldByType(EGraphicFieldType.GfSignature, ERPRM_ResultType.RprmResultTypeVisualOcrExtended);
var graphicField = results.GetGraphicFieldByType(RGLGraphicFieldType.Signature, RGLResultType.VisualOCRExtended);
Getting instances of text fields indicating fieldType
, source
, pageIndex
:
DocumentReaderGraphicField graphicField = results.GetGraphicFieldByType(EGraphicFieldType.GfSignature, ERPRM_ResultType.RprmResultTypeVisualOcrExtended, 0);
var graphicField = results.GetGraphicFieldByType(RGLGraphicFieldType.Signature, RGLResultType.VisualOCRExtended, 0);
Getting instances of text fields indicating fieldType
, source
, pageIndex
, light
:
DocumentReaderGraphicField graphicField = results.GetGraphicFieldByType(EGraphicFieldType.GfSignature, ERPRM_ResultType.RprmResultTypeVisualOcrExtended, 0, ERPRM_Lights.RprmLightWhiteFull);
var graphicField = results.GetGraphicFieldByType(RGLGraphicFieldType.Signature, RGLResultType.VisualOCRExtended, 0, RGLGraphicFieldLight.White);