ID
Scan capability overview
The Anyline ID plugin provides the functionality to scan MRZ documents, driving licenses and identity cards in one scan plugin.
Supported alphabet options in configuration: latin, arabic, cyrillic. Current implementation supports Latin characters only.
The scannable data fields that can be scanned with the Anyline ID scanner depend on the type that is scanned.
For each scan result, the ID plugin generates a new, generic ID object, containing all relevant information.
Supported document types
Driving Licenses and ID Cards
With the ID plugin, you can scan various layouts of driving licenses and ID cards from various countries. The layout name contains information about the supported document.
The naming schema for all layouts is built from multiple segments in the following fashion:
[ISO 3661-1 alpha2]_[category]_[type]_[version]_[side] e.g. AT_DVL_O_04001_F.
Document categories:
-
DVL: driving licenses
-
IDC: identification card
Document types:
-
O: ordinary (default, e.g. national ID for IDC or a standard driver’s license for DVL)
Document version:
-
Official European Council version where available
-
Others are assigned a unique identifier for distinguishing documents that otherwise share all other layout code attributes
Document side:
-
F: front side
-
B: back side
Supported fields
Driving Licenses and ID Cards
| Field Name | Driving License | ID Card |
|---|---|---|
additionalInformation |
✓ |
✓ |
additionalInformation1 |
✓ |
✓ |
additionalInformation2 |
✓ |
✓ |
address |
✓ |
✓ |
age |
✓ |
|
audit |
✓ |
|
authority |
✓ |
✓ |
cardAccessNumber |
✓ |
|
cityNumber |
✓ |
|
conditions |
✓ |
|
dateOfBirth |
✓ |
✓ |
dateOfExpiry |
✓ |
✓ |
dateOfIssue |
✓ |
✓ |
dateOfRegistration |
✓ |
|
degreeOfDisability |
✓ |
|
divisionNumber |
✓ |
|
documentDiscriminator |
✓ |
✓ |
documentNumber |
✓ |
✓ |
duplicate |
✓ |
✓ |
duration |
✓ |
|
educationalInstitution |
✓ |
|
endorsements |
✓ |
✓ |
eyes |
✓ |
✓ |
firstIssued |
✓ |
✓ |
firstName |
✓ |
✓ |
folio |
✓ |
|
fullName |
✓ |
✓ |
hair |
✓ |
✓ |
headOfFamily |
✓ |
|
height |
✓ |
✓ |
lastName |
✓ |
✓ |
licenseClass |
✓ |
✓ |
licenseType |
✓ |
✓ |
maidenName |
✓ |
|
militaryRank |
✓ |
|
municipalityNumber |
✓ |
|
nationality |
✓ |
|
office |
✓ |
|
parentsFirstName |
✓ |
|
parish |
✓ |
|
personalNumber |
✓ |
✓ |
placeAndDateOfBirth |
✓ |
✓ |
placeOfBirth |
✓ |
✓ |
previousType |
✓ |
✓ |
province |
✓ |
|
restrictions |
✓ |
✓ |
sex |
✓ |
✓ |
socialSecurityNumber |
✓ |
|
stateNumber |
✓ |
|
voterId |
✓ |
|
weight |
✓ |
✓ |
MRZ Documents
The Anyline MRZ field names are according to the ICAO standard field names.
In addition to the supported field names on MRZ documents, the following table also lists equivalent field names on other document types if available. Some fields are only available on MRZ documents. For these, there is no equivalent field name in the table below.
| The MRZ and ID plugins are not using the same result names for specific fields. |
| Field Name MRZ | Equivalent Field Name on Other Document Types |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
N/A |
|
N/A |
|
|
|
|
|
N/A |
|
N/A |
|
N/A |
|
N/A |
|
N/A |
|
N/A |
|
N/A |
|
|
|
|
|
|
|
|
|
|
|
|
List of supported document categories and countries
Latin Cards
These are all layouts supported with the Latin script.
The Latin script currently supports the following characters: ", ', (, ), *, ,, -, ., /, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, <, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, À, Á, Â, Ä, Æ, Ç, È, É, Ê, Ë, Í, Î, Ï, Ñ, Ó, Ô, Ö, Ù, Ú, Û, Ü, Ý, ß, à, á, â, ä, æ, ç, è, é, ê, ë, í, î, ï, ó, ô, ö, ù, û, ü, ÿ, ą, ć, ę, Ğ, ğ, İ, ı, ń, Œ, œ, Ş, ş, Ÿ, ż, ú, ñ, Ġ, ý, Ć.
Any character not in this list will either be represented as its base character or omitted in the result.
|
European Driving Licenses
| Country | Code | Layout | Whitelist code |
|---|---|---|---|
Austria |
AT |
|
|
|
|
||
|
|||
Croatia |
HR |
|
|
Germany |
DE |
|
|
|
|||
|
|||
|
|||
|
|
||
Italy |
IT |
|
|
Portugal |
PT |
|
|
Spain |
ES |
|
|
European Identity Cards
| Country | Code | Layout | Whitelist code |
|---|---|---|---|
Italy |
IT |
|
|
Portugal |
PT |
|
|
|
|||
|
|||
|
|||
|
|||
Spain |
ES |
|
|
|
|
Filtering Scannable Documents Types
By default, every document supported by the ID plugin is enabled. This includes MRZ documents, driving licenses and identity cards.
If this is not desired, then it is possible to configure which specific layouts to enable.
To do this, one needs to add the "allowedLayouts": {} keyword-dictionary pair to the universalIdConfig.
The contents of this dictionary will control the filtering.
MRZ
In order to enable MRZ scanning one has to include the mrz keyword with an empty
list as its value inside the dictionary corresponding to the "allowedLayouts" keyword: "allowedLayouts": {"mrz": []}.
| The MRZ scanning is either enabled or disabled. There is no option to enable only for specific types and therefore the values within the corresponding list are not checked. |
Driving Licenses
In order to enable driver license scanning one has to include the drivingLicense keyword
with a list as its value inside the dictionary corresponding to the "allowedLayouts" keyword.
The filtering is controlled by the values of the list. If it is empty then all supported driving
license types will be allowed for scanning: "allowedLayouts": {"drivingLicense": []}
If the list has elements in them then only layouts that correspond to those will be allowed to
be scanned from the driving licenses. The following configuration for example only enables the
AT_DVL_O_04001_F from the driving license layouts: "allowedLayouts": {"drivingLicense": ["AT_DVL_O_04001_F"]}
Take note that certain values correspond to multiple layouts. The following configuration for
example only enables the AT_DVL_O_04001_F, AT_DVL_O_05001_F and AT_DVL_O_05002_F layouts
from the driving license layouts: "allowedLayouts": {"drivingLicense": ["AT_DVL_O_04001_F", "AT_DVL_O_05002-05001_F"]}
For the accepted filter values, see the whitelist codes within the layout listing tables.
Identity Cards
In order to enable identity card scanning one has to include the idFront keyword
with a list as its value inside the dictionary corresponding to the "allowedLayouts" keyword.
The filtering is controlled by the values of the list. If it is empty then all supported
identity card types will be allowed for scanning: "allowedLayouts": {"idFront": []}
If the list has elements in them then only layouts that correspond to those will be allowed to be scanned from the identity cards. See Driving Licenses for filtering examples.
Multiple Filters
Using filters at the same time for different type of documents is simple.
One only has to insert them into the dictionary corresponding to the "allowedLayouts" keyword
at the same time. The rules described previously regarding filtering still applies (see Driving Licenses).
The following configuration for example enables MRZ scanning and allows all layouts from the driving
licenses and from the identity cards: "allowedLayouts": {"mrz": [], "drivingLicense": [], "idFront": []}
If a non valid string is used as a keyword in the "allowedLayouts" dictionary,
or within one of the lists inside it, no error is thrown. The non valid value
is simply not taken into consideration. This is the case for typos and for elements
that should belong to other keywords.
|
The configuration "allowedLayouts": {} does not allow any documents to be scanned.
To scan all supported layouts set the default from the configuration above.
|
Configuration Parameters
Universal ID Config
alphabet
Sets a specific character set for scanning.
-
Type:
string -
Default:
"latin" -
Options:
"latin","arabic","cyrillic"(current implementation supports Latin only)
allowedLayouts
Specifies the document types to be scanned and optionally further specifies which types of layout are scanned per type.
-
Type:
object -
Properties:
-
mrz: Array of allowed MRZ layouts -
drivingLicense: Array of allowed driving license layouts -
idFront: Array of allowed ID card layouts
-
Field Configuration (drivingLicense, idFront, mrz)
Each document type can have field-specific configurations with the following options:
MRZ Config
strictMode
When enabled, a result is only returned if all check digits on the scanned document are valid.
-
Type:
boolean -
Default:
false -
Note: This can improve the quality of the returned result, but might also increase the scan duration. The scanned document must follow the ICAO standard.
minConfidence
Sets a minimum confidence which has to be reached in order to trigger a scan result.
-
Type:
integer -
Range:
0to100
cropAndTransformID
Sets whether to crop and transform the ID document image.
-
Type:
boolean -
Default:
false
mrzFieldScanOptions
Configure which text fields shall be captured mandatory, optional or not at all.
-
Type:
object -
Supported fields:
surname,givenNames,dateOfBirth,dateOfExpiry,documentNumber,documentType,issuingCountryCode,nationalityCountryCode,sex,personalNumber,optionalData,vizAddress,vizDateOfIssue,vizSurname,vizGivenNames,vizDateOfBirth,vizDateOfExpiry -
Each field can be set to:
"mandatory","optional","disabled", or"default"
Usage Examples
For practical code examples including preset configurations, custom layouts, MRZ strict mode, field validation, and result handling, see the ID Plugin Quick Start Guide.