Skip to content
GBG Documents & Biometrics Documentation

idData library

The following sections describe the properties and methods in the IdData library.

The idData library extends the function set introduced in the idData library of the ScanW wrapper library. The library exports the capability to automatically detect the current card type by setting the current region. The term Region refers to a collection of countries in the same vicinity, and in the near future, as more and more countries are added to the analyzing engine database, this term will converge to the five major continents.

The following idData library functions are described in this section:

Country2Id RegionSet RegionSetDetectionSequence
RegionGetFirst RegionGetNext RegionGetNameById
RegionGetIdByName RegionAutoDetectSupport RegionByCountry
RegionGetFirstCountry RegionGetNextCountry Id2Country2
Id2Country3 GetFaceImageBuffer GetFaceImageBufferEx
GetSignatureImageBuffer GetSignatureImageBufferEx GetFaceImageDuplex
DetectProcessAndCompareEX DetectProcessAndCompareEX2 DetectProcessDuplex
DetectProcessDuplexEX ProcMRZ ResetIDFields
GetCountryIDByStateID ActivateDmAuthentication RefreshAuthenticationStatus
GetFaceImageEx GetMRZChecksumVerified GetFaceAndSignatureImagesOnly
SetBrightnessForFaceImage SetFieldToBeErasedFromImage GetFrontBackData

Gets the Country ID number

Syntax

Country2Id (CountryName As String) As Long

Parameters

Parameter Description
[in] CountryName The country name as retrieved from the AcuFill SDK

Return Values

Value Description
ID_ERR_NO_MATCH The CountryName parameter doesn’t contain the country name

The AcuFill SDK can automatically detect the card type using the following steps:

  1. Set the region number.
  2. Run the AutoDetectStateEx function (as described in the ScanW.pdf programming reference) after scanning the image.

Currently, the regions that support autodetection are:

ID Region
0 USA (DEFAULT)
1 Canada
4 Australia
5 Asia

The autodetection will support additional regions in the upcoming versions. For a complete list of the regions and their related states, see Appendix A.

Note: Upon invocation of the library, the default region is set to USA (Region Number 0).

Syntax

RegionSet (RegionId As Integer) As Long

Parameters

Parameter Description
[in] RegionId The current region ID

Return Values

Value Description
ID_ERR_AUTO_DETECT_NOT_SUPPORTED The RegionId parameter doesn’t support auto detection
ID_ERR_NO_MATCH The RegionId parameter is not a valid region identifier
ID_TRUE Region setting successful

Like the RegionSet function, this function will do the same but this time the AcuFill SDK will try to find the card type in all the given regions IDs in this function. For example, if call this function with a 0 and 1 (for USA and Canada, respectively) and now whenever you call the DetectStateEx function with USA or Canadian cards, it will find the card.

Syntax

RegionSetDetectionSequence RegionSetDetectionSequence (lRegionId0 As Long, lRegionId1 As Long, lRegionId2 As Long, lRegionId3 As Long, lRegionId4 As Long, lRegionId5 As Long, lRegionId6 As Long) As Long

Parameters

Parameter Description
[in] RegionId0 The current region ID
[in] RegionId1 The current region ID
[in] RegionId2 Not currently supported
[in] RegionId3 Not currently supported
[in] RegionId4 The current region ID
[in] RegionId5 The current region ID
[in] RegionId6 The current region ID

Return Values

Value Description
ID_ERR_AUTO_DETECT_NOT_SUPPORTED The RegionId parameter doesn’t support auto detection
ID_ERR_NO_MATCH The RegionId parameter is not a valid region identifier
ID_TRUE Region setting successful

The AcuFill SDK divides the supported countries into several major regions. The regions are organized in a list that can be retrieved by calling to this function once, and then continuously calling the function RegionGetNext().

Note: The list size and order may vary in the future, as the AcuFill SDK will include more and more regions. For example, regions 0 and 1 (USA and Canada respectively) are designated to be unified into a single region (North America region) in later versions. Therefore, you should never fix the region values in your code and always retrieve it using the function RegionGetFirst and RegionGetNext.

Syntax

RegionGetFirst () As Long

Return Values

Returns the value of the first region in the AcuFill SDK region list

Retrieves the region list by:

  • Calls the function RegionGetFirst once
  • Calls RegionGetNext continuously (in a loop) until the value ID_ERR_NO_NEXT_COUNTRY is returned. For each call, the function returns the ID of the next region.

Syntax

RegionGetNext () As Long

Return Values

Value Description
ID_ERR_NO_MATCH The RegionGetFirst function was not previously called
ID_ERR_NO_NEXT_COUNTRY The list has ended (the last region was retrieved in the previous function call). Otherwise, the function returns the value of the next region ID.

Converts region enum values into the region string name. This function, combined with the RegionGetFirst and RegionGetNext functions, builds the region name list.

Syntax

RegionGetNameById (RegionId As Integer, RegionName As String) As Long

Parameters

Value Description
[in] RegionId The region’s numeric value
[out] RegionName A string that accepts the region name

Return Values

Value Description
ID_ERR_NO_MATCH The RegionId parameter is not a valid region enum
ID_TRUE Region found; the RegionName string returns loaded with the region name

Converts the region name values into a region ID

Syntax

RegionGetIdByName (RegionName As String, RegionId As Integer) As Long

Parameters

Value Description
[in] RegionName The region name
[out] RegionId An integer that accepts the region ID

Return Values

Value Description
ID_ERR_NO_MATCH The RegionName parameter is not a valid region enumeration
ID_TRUE Region found; the RegionId string returns the match region ID number with the RegionID

Detects whether a document of a specific state can be automatically detected by the AutoDetectStateEx function after scanning the document. If so, AutoDetectStateEx will return the proper state enum, and this value can be used as an input parameter to the ProcState function, which retrieves the data from the image.

Note: If RegionAutoDetectSupport returns ID_FALSE, then skip the call to AutoDetectStateEx and call ProcState directly, while setting the stateID parameter manually.

Syntax

RegionAutoDetectSupport (RegionId As Integer) As Long

Parameters

Value Description
[in] RegionId The region enumeration value

Return Values

Value Description
ID_ERR_NO_MATCH The RegionId parameter does not contain a valid region enum.
ID_TRUE The RegionId parameter represents a region that supports autodetection.
ID_FALSE The RegionId parameter represents a region that does not support autodetection.

Detects the region that contains the country

For a complete list of the regions and their related states, see Appendix A.

Syntax

RegionByCountry (Country As Integer) As Long

Parameters

Setting Description
[in] Country Constant value of a country

Return values

Value Description
ID_ERR_NO_MATCH The Country parameter does not contain a valid country ID. Otherwise, this returns the region ID that contains the input country

Gets the list of countries in the region (when used with RegionGetNextCountry)

Syntax

RegionGetFirstCountry (region As Integer) As Long

Parameters

Setting Description
[in] region The region ID that contains the country list

Return Values

Value Description
ID_TRUE Function succeeded
ID_ERR_NO_MATCH The value in region is not a valid region ID. Otherwise, the function returns the first country ID in the region.

Use this function (combined with RegionGetFirstCountry) to obtain the list of countries in the region. Call RegionGetFirstCountry once, then call RegionGetNextCountry continuously in a loop and store the returned value until the ID_ERR_NO_NEXT_COUNTRY value is returned.

You can use the following strategy to build a complete region, country, and state tree:

  1. Retrieve the full region list using RegionGetFirst and RegionGetNext functions.
  2. For each Region, retrieve the full countries list using RegionGetFirstCountry and RegionGetNextCountry functions.
  3. For each Country, retrieve the full state list using GetFirstStateByCountry and GetNextStateByCountry functions.

Syntax

RegionGetNextCountry (region As Integer) As Long

Parameters

Setting Description
[in] region The region ID that contains the country list

Return Values

Value Description
ID_TRUE Function succeeded
ID_ERR_NO_MATCH Value in region not a valid region ID. Otherwise, the function returns the next country ID in the region.
ID_ERR_NO_NEXT_COUNTRY No next country in list; last call retrieved the last country in the list

Converts the country ID number to the country name, in two letters (as defined by ISO 3166) For a complete list of the regions and their related states, see Appendix A.

Syntax

Id2Country2 (id As Integer, country As String) As Long

Parameters

Setting Description
[in] id The country ID number
[out] country The country name in a 2 letter format (ISO 3166)

Return Values

Value Description
ID_TRUE Function succeeded
ID_ERR_NO_MATCH The value in id is not a valid country ID

Converts between the country ID number and the country name. The returned name is the country name in three letters as defined by ISO 3166 spec.

For a complete list of the regions and their related states, see Appendix A.

Syntax

Id2Country3 (id As Integer, country As String) As Long

Parameters

Setting Description
[in] id The country ID number
[out] country The country name in a three-letter format (ISO 3166)

Return Values

Value Description
ID_TRUE Function succeeded
ID_ERR_NO_MATCH The value in id is not a valid country ID

Extracts the face image from the document image to the given buffer

The source document image can be an existing image file (in BMP format) or the last scanned document (stored in the internal image buffer). If the SourceFile parameter is an empty string, then the image is taken from the internal image buffer. If this parameter contains the full name of a valid image file, then this file is used.

Syntax

GetFaceImageBuffer (Source As String, buffer As String, FileType As String, StateID as Integer) As Long

Parameters

Setting Description
[in] Source Name of the source driver’s license image file
[in] buffer A string buffer that contains the image content upon a successful return
[in] FileType Sets the buffer image format. May be one of the following strings (case-insensitive): BMP | PNG | JPG | PCX | PSD | TIF
[in] StateID The state ID

Return Values

Value Description
ID_TRUE Function succeeded
ID_FALSE Function failed

Extracts the signature image from the document image to the given buffer

The source document image can be an existing image file (in BMP format) or the last scanned document (stored in the internal image buffer). If the SourceFile parameter is an empty string, then the image is taken from the internal image buffer. If this parameter contains the full name of a valid image file, then this file is used.

Syntax

GetSignatureImageBuffer (Source As String, buffer As String, FileType As String, StateID As Integer) As Long

Parameters

Setting Description
[in] Source Name of the source driver’s license image file
[in] buffer A string buffer that contains the image content upon a successful return
[in] FileType Sets the buffer image format. May be one of the following strings (case-insensitive): BMP | PNG | JPG | PCX | PSD | TIF
[in] StateID The state ID

Return Values

Value Description
ID_TRUE Function succeeded
ID_FALSE Function failed

Extracts the face image from the document image to the given buffer. The source document image can be an existing image file (in BMP format) or the last scanned document (stored in the internal image buffer). If the SourceFile parameter is an empty string, then the image is taken from the internal image buffer. If this parameter contains the full name of a valid image file, then this file is used.

You can change the color and DPI of the original image and get it with the new color and DPI according to the given values in the new buffer image.

Syntax

pGetFaceImageBufferEx (Source As String, buffer As String,
FileType As String, StateID as Integer, ToColor as Integer,
ToDPI as Integer) As Long

Parameters

Setting Description
[in] Source Name of the source driver’s license image file
[in] buffer A string buffer that contains the image content upon a successful return
[in] FileType Sets the buffer image format. May be one of the following strings (case insensitive): BMP | PNG | JPG | PCX | PSD | TIF
[in] StateID The state ID
[In] ToColor Set the new Image scheme. Values:
[in] ToDPI Sets the new Image DPI. A value of 0 indicates no DPI modification.

Return Values

Value Description
ID_TRUE Function succeeded
ID_FALSE Function failed

Extracts the signature image from the document image to the given buffer. The source document image can be an existing image file (in BMP format) or the last scanned document (stored in the internal image buffer). If the SourceFile parameter is an empty string, then the image is taken from the internal image buffer. If this parameter contains the full name of a valid image file, then this file is used.

You can change the color and DPI of the original image and get it with the new color and DPI according to the given values in the new buffer image.

Syntax

GetSignatureImageBufferEx (Source As String, buffer As String, FileType As String, StateID As Integer, ToColor as Integer, ToDPI as Integer) As Long

Parameters

Setting Description
[in] Source Name of the source driver’s license image file
[in] buffer A string buffer that contains the image content upon a successful return
[in] FileType Sets the buffer image format. May be one of the following strings (case insensitive): BMP | PNG | JPG | PCX | PSD | TIF
[in] StateID The state ID
[In] ToColor Set the new Image scheme. Values:
[in] ToDPI Set the new Image DPI. A value of 0 indicates no DPI modification.

Return Values

Value Description
ID_TRUE Function succeeded
ID_FALSE Function failed

Gets the face image without knowing whether it is located (on front or back)

Note: Duplex scanning is only available with ScanShell 800DX/800DXN/3100D/3100DN.

Use this function to extract the image rectangle of the person’s face from the source ID image. The source image can be either:

  • Internal Image - The last scanned image (stored in the internal memory). This image will be used only if the SourceFileName string is empty.

  • External Image File - The full file name is given in SourceFileName parameter. If an external file is used as the source image, it must be a 24-bit image (true color) and have a resolution of 300dpi. The source and file destination can be one of the following formats: BMP, TIFF, JPG, PCX, TGA, PNG, PSD.

    Note: Use the proper file extension (for example, .bmp for bitmap, .jpg for Jpeg) to specify the image format.

Syntax

GetFaceImageDuplex (SourceFileName As String, BackSourceFileName As String, DestFileName As String, stateId As Integer) As Long

Parameters

Parameter Description
[in] SourceFileName Null-terminated string that contains the full path of the scanned ID image. If this string is empty the internal image is used as the image source.
[in] BackSourceFileName Null-terminated string that contains the full path of the scanned back side ID image. If this string is empty the internal image is used as the image source.
[in] DestFileName Null-terminated string that contains the full name of the destination image file that will contain the face image from the ID document.
[in] stateId The state index value as defined in the idLibDef.bas file

Return Values

Value Description
ID_TRUE Function succeeded
ID_FALSE Internal processing error
LICENSE_INVALID Library not initialized with proper license
ID_ERR_FILE_OPEN Failed to load source image (if SourceFileName is not empty)
INVALID_INTERNAL_IMAGE No internal image loaded; attempted to use internal image without first scanning image
ID_ERR_STATE_NOT_SUPORTED Requested state not supported
ID_BAD_DESTINATION_FILE Bad destination path (couldn’t create the destination file)
ID_ERR_FILE_OPEN Bad source image file (used only when using a file as the source image); source file is missing or can’t be accessed for reading
INVALID_INTERNAL_IMAGE Bad internal image (used only when extracting the face image from the image stored in the internal buffer); no image in buffer
ID_ERR_FACE_IMAGE_ NOT_FOUND Analyzer can’t detect the face image in the driver’s license image
ID_ERR_CANNOT_DELETE_ DESTINATION_IMAGE A file with the same name as the destination file already exists and can’t be overwritten
ID_ERR_CANNOT_COPY_ TO_DESTINATION Destination file can’t be opened for write on the disk

Gets the signature image without knowing whether it is located (on front or back)

Note: Duplex scanning is only available with ScanShell 800DX/800DXN/3100D/3100DN.

Use this function to extract the image rectangle of the person’s signature from the source ID image. The source image can be either:

  • Internal Image - The last scanned image (stored in the internal memory). This image will be used only if the SourceFileName string is empty.

  • External Image File - The full file name is given in SourceFileName parameter. If an external file is used as the source image, it must be a 24-bit image (true color) and have a resolution of 300 DPI. The source and file destination can be in one of the following formats: BMP, TIFF, JPG, PCX, TGA, PNG, and PSD.

    Note: Use the proper file extension (for example, .bmp for bitmap, .jpg for Jpeg) to specify the image format.

Syntax

GetSignatureImageDuplex (SourceFileName As String, BackSourceFileName As String, DestFileName As String, stateId As String

Parameters

Parameter Description
[in] SourceFileName Null-terminated string that contains the full path of the scanned ID image. If this string is empty the internal image is used as the image source.
[in] BackSourceFileName Null-terminated string that contains the full path of the scanned back side ID image. If this string is empty the internal image is used as the image source.
[in] DestFileName Null-terminated string that contains the full name of the destination image file that will contain the face image from the ID document.
[in] stateId The state index value as defined in the idLibDef.bas file

Return Values

Value Description
ID_TRUE Function succeeded
ID_FALSE Internal processing error
LICENSE_INVALID Library not initialized with proper license
ID_ERR_FILE_OPEN Failed to load source image (if SourceFileName is not empty)
INVALID_INTERNAL_IMAGE No internal image loaded. This value returns when attempting to use the internal image without scanning an image first
ID_ERR_STATE_ NOT_SUPORTED Requested state not supported
ID_BAD_DESTINATION_FILE Bad destination path (couldn’t create the destination file)
ID_ERR_FILE_OPEN Bad source image file (used only when using a file as the source image). This value returns if the source file is missing or can’t be accessed for reading
INVALID_INTERNAL_IMAGE Bad internal image (used only when extracting the face image from the image stored in the internal buffer). This value returns if there is no image in the buffer.
ID_ERR_SIGNATURE_IMAGE_ NOT_FOUND Analyzer can’t detect the signature image in the driver’s license
ID_ERR_CANNOT_DELETE_ DESTINATION_IMAGE A file with the same name as the destination file already exists and can’t be overwritten
ID_ERR_CANNOT_COPY_ TO_DESTINATION Destination file can’t be opened for write on the disk

Detects and processes a card with two sides that each of the sides can contain text and/or barcode data

After using this function, you can get the fields data from the idData and Barcode classes (using the ScanShell 3000D/ScanShell 800DX only). To use the internal image (after scanning a card), ImageA and ImageB should be empty strings.

Syntax

DetectProcessAndCompareEX (ImageA As String, ImageB As String, state As Integer, ImageA_assignment As Integer, angleA As Integer, angleB As Integer, reserved As Integer) As Long

Parameters

Parameter Description
[in] ImageA Full name of the source driver’s license image file (Side A)
[in] ImageB Full name of the source driver’s license image file (Side B)
[in] State StateID can be -1 for auto detect state
[in,out] ImageA_assignment
[in,out] angleA Contains the angle that has been used to rotate image A
[in,out] angleB Contains the angle that has been used to rotate image B
[in] reserved Use the value 0

Return Values

Value Description
stateID Function succeeded
-1 Function failed

Detects and processes a card with two sides that each of the sides can contain text and/or barcode data. After using this function, you can get the fields data from the idData and Barcode classes (using the ScanShell 3000D/ScanShell 800DX only). To use the internal image (after scanning a card), ImageA and ImageB should be empty strings.

Syntax

DetectProcessAndCompareEX2 (ImageA As String, ImageB As String, state As Integer, ImageA_assignment As Integer, angleA As Integer, angleB As Integer, defaultBarcode As Integer, reserved As Integer) As Long

Parameters

Parameter Description
[in] ImageA Full name of the source driver’s license image file (Side A)
[in] ImageB Full name of the source driver’s license image file (Side B)
[in] State StateID can be -1 for auto detect state
[in,out] ImageA_assignment
[in,out] angleA Contains the angle that has been used to rotate image A
[in,out] angleB Contains the angle that has been used to rotate image B
[in] defaultBarcode Use the 2D or 1D barcode as the first extraction process: 0=2D and 1=1D

Return Values

Value Description
stateID Function succeeded
-1 Function failed

Detects the front side and extracts the data from the two sides of a card. After using this function, you can get the fields value from the idData class (using ScanShell 3000D/ScanShell 800DX only). To use the internal image (after scanning a card), ImageA and ImageB should be empty strings.

Syntax

DetectProcessDuplex(ImageA As String, ImageB As String, state As Integer, ImageA_assignment As Integer, angleA As Integer, angleB As Integer, reserved As Integer) As Long

Parameters

Parameter Description
[in] ImageA Full name of the source driver’s license image file (Side A)
[in] ImageB Full name of the source driver’s license image file (Side B)
[in] State StateID can be -1 for auto detect state
[in,out] ImageA_assignment
[in,out] angleA Contains the angle that has been used to rotate image A
[in,out] angleB Contains the angle that has been used to rotate image B
[in] reserved Use the value 0

Return Values

Value Description
stateID Function succeeded
-1 Function failed

Detects the front side and extracts the data from the two sides of a card. After using this function, you can get the fields value from the idData class (using ScanShell 3000D/ScanShell 800DX only). To use the internal image (after scanning a card), ImageA and ImageB should be empty strings.

Syntax

DetectProcessDuplexEx(ImageA As String, ImageB As String, state As Integer, ImageA_assignment As Integer, angleA As Integer, angleB As Integer, reserved As Integer) As Long

Parameters

Parameter Description
[in] ImageA Full name of the source driver’s license image file (Side A)
[in] ImageB Full name of the source driver’s license image file (Side B)
[in] State StateID can be -1 for auto detect state
[in,out] ImageA_assignment
[in,out] angleA Contains the angle that has been used to rotate image A
[in,out] angleB Contains the angle that has been used to rotate image B
[in] reserved Use the value 0

Return Values

Value Description
stateID Function succeeded
-1 Function failed

Scans a full image and extract only the MRZ as raw data. To use the internal image (after scanning a card), FileName should be an empty string.

Syntax

ProcMRZ (FileName As String, rotationAngle As Integer) As Long

Parameters

Parameter Description
[in] FileName Full name of the source driver’s license image file (Side A)
[in,out] rotationAngle Contains the angle that has been used to rotate the image

Return Values

Value Description
1 Function succeeded
-1 Function failed

Clears data from all the fields in the idData class

Syntax

ResetIDFields()

Parameters

None

Return Values

None

Gets the country ID by a given state ID

Syntax

GetCountryIDByStateID (StateID As Integer)

Parameters

Parameter Description
[in] StateID Integer value of the StateId

Return Values

Value Description
Integer value Country ID

Activates the watermark detection and attempts to load and initialize the Digimarc™ library for watermark detection and verification

This library is installed in the AcuFill SDK folder if the proper checkbox is selected while installing the AcuFill SDK. The mechanism verifies the content of the following fields:

  • Driver license number
  • Jurisdiction (Issuing State)
  • Date of birth
  • Issue date

Call this function only once (normally in the after initializing the idCard library by calling ScanW.IdCard.InitLibrary()).

Important: It is important to locate the AcuFill SDK files (and the Digimarc™ files) where the main application executable reside.

After the mechanism is activated, the Driver license AcuFill SDK will automatically verify each of the four fields after the text extraction is done. The result of this verification can be retrieved by reading the relevant properties (for example, LicenseAuthentication*,* StateAuthentication).

Syntax

ActivateDmAuthentication (Activate as BOOLEAN)

Parameters

Parameter Description
[in] Activate Indicates whether to activate/deactivate watermark detection mechanism TRUE | FALSE

Return Values

Value Description
ID_TRUE (1) Operation completed successfully
ID_ERR_DM_LIBRARY_NOT_FOUND (-24) Could not find Digimarc™ files in the application folder

Refreshes the values of the verification properties

Call this function before reading these values of the properties (for example, LicenseAuthentication, StateAuthentication) to get the current reading verification results.

Syntax

RefreshAuthenticationStatus ()

Parameters

None

Return Values

None

This function is similar to the GetFace function but can extract more than one face image from the card. The imageType value can be 0 to get the regular face image, or 1 to get face image with the background. This function with ImageType other than a 0 value, will work only for supported cards. For now only “Spain Police” cards are supported by this function.

Syntax

GetFaceImageEx (Source As String, Dest As String, idState As Long, ImageType As Long) As Long

Parameters

Value Description
[in] szSourceFile Full name of the source driver’s license image file
[in] szDestFile Full name of the destination face image
[in] stateID The state ID
[in] ImageType The face image type to extract

Return Values

Value Description
ID_ERR_FILE_OPEN Can’t open input image file
INVALID_INTERNAL_IMAGE Invalid internal image file
ID_ERR_CANNOT_DELETE_DESTINATION_IMAGE Destination file already exists and can’t be overwritten
ID_ERR_CANNOT_COPY_TO_DESTINATION Failed to copy face image file to destination file
ID_ERR_FACE_IMAGE_NOT_FOUND Failed to extract face image; couldn’t locate face rectangle
ID_FALSE Image processing failed
ID_TRUE Function completed successfully

Verifies the field value with its checksum digit on the MRZ line (from which it was taken)

Syntax

int GetMRZChecksumVerified (int FieldIndex)

Parameters

Parameter Description
[in] FieldIndex Constant value of the field

Return Values

Value Description
1 Verification success
0 Verification failed
-1 Not verified

This function is similar to the GetFace function but will extract the face and signature images. The imageType value can be 0 to get the regular face image, or 1 to get face image with the background. This function with ImageType other than a 0 value, will work only for supported cards. Currently only “Spain Police” cards are supported by this function.

Syntax

GetFaceAndSignatureImagesOnly (Source As String, FaceDest As String, SignatureDest As String, idState As Long, ImageType As Long) As Long

Parameters

Value Description
[in] szSourceFile Full name of the source driver’s license image file
[in] szFaceDest Full name of the destination face image
[in] szSignatureDest Full name of the destination signature image
[in] stateID The state ID
[in] ImageType The face image type to extract

Return Values

Value Description
ID_ERR_FILE_OPEN Cannot open input image file
INVALID_INTERNAL_IMAGE Invalid internal image file
ID_ERR_CANNOT_DELETE_ DESTINATION_IMAGE Destination file already exists and can’t be overwritten
ID_ERR_CANNOT_COPY_ TO_DESTINATION Failed to copy face image file to destination file
ID_ERR_FACE_IMAGE_ NOT_FOUND Failed to extract face image; couldn’t locate face rectangle
ID_FALSE Image processing failed
ID_TRUE Function completed successfully

Sets the brightness of the face image returned by any call to get the face image later

Syntax

SetBrightnessForFaceImage (int nBrightness)

Parameters

Value Description
[in] nBrightness A value between 0 – 100 that sets the brightness

Causes the indicated fields to be erased from the image when called before ID card processing

Syntax

void SetFieldToBeErasedFromImage(int nFieldIndex,bool bErase)

Parameters

Parameter Description
[in] nFieldIndex The index of the field to be erased. Note: This should correspond to the field number in IDcardExp.h in the AcuFill SDK folder.
[in] bErase Adds or removes a field to the list of erased fields TRUE | FALSE

Return Values

None

Gets the data on the front and back sides of the processed card

Syntax

void GetFrontBackData (int iFrontBack, int& iTemplate, int& iMRZ,
int& iBarCode)

Parameters

Parameter Description
[out] iTemplate Set by the AcuFill SDK to one of the values in the following table:
[out] iMRZ Set by the AcuFill SDK to one of the values in the preceding table
[out] iBarCode Set by the AcuFill SDK to one of the values in the preceding table
[in] iFrontBack 0 = Front, 1 = Back

Return Values

None

Returns the full name of the country that issued the document (read-only)

Syntax

IdCountry As String

Parameters

None

Return Values

Returns the IdCountry value in string format

Returns the name abbreviation of the country that issued the document (read-only)

Returns general data field from the document (read-only)

Returns general data field from the document (read-only)

Returns the date of birth with year in a 4-digit format (read-only)

Returns an expiration date with year in a 4-digit format (read-only)

Returns an issue date with year in a 4-digit format (read-only)

Returns the status of the general watermark indication on the card (read-only)

Note: If this value (integer) indicates an error, then the values of the tested fields are not valid.

Return Values

Value Description
DM_SUCCESS (1) Watermark exists on the card and read successfully
DM_ERROR_DEBUGGER_PRESENT (-24) Cannot continue to process watermark because of a debugger presence (security issue). This is not an error as the detection will work normally after the debugger is turned off
DM_ERROR_LIB_NOT_FOUND (-1) Could not find Digimarc™ library files
DM_ERROR_BAD_IMAGE_NAME (-2) Internal error
DM_ERROR_WM_NOT_FOUND (-3) Could not find watermark indication on the driver license card
DM_ERROR_WM_NOT_SUPPORTED (-4) Watermark is not supported on this driver license card
DM_ERROR_FAIL_TO_GET_IMAGE_HANDLE (-23) Internal error
DM_ERROR_FAIL_TO_LOAD_IMAGE (-22) Internal error

Integer that reports the verification results of the Issue Date field (read-only)

Note: The content of this property is valid only if the GeneralWaterMark property is DM_SUCCESS.

Return Values

Value Description
DM_SUCCESS (1) Field content authenticated and matches the field value embedded in the watermark
DM_FAILED (0) Field content not authenticated and does not match the field value embedded in the watermark.
DM_ERROR_WM_NOT_FOUND (-3) Digimarc™ library is missing; authentication failed

Integer that reports the verification results of the Date of Birth field (read-only)

Note: The content of this property is valid only if the GeneralWaterMark property is DM_SUCCESS.

Return Values

Value Description
DM_SUCCESS (1) Field content authenticated and matches the field value embedded in the watermark
DM_FAILED (0) Field content not authenticated and does not match the field value embedded in the watermark.
DM_ERROR_WM_NOT_FOUND (-3) Digimarc™ library is missing; authentication failed

Integer that reports the verification results of the License field (read-only)

Note: The content of this property is valid only if the GeneralWaterMark property is DM_SUCCESS.

Return Values

Value Description
DM_SUCCESS (1) Field content authenticated and matches the field value embedded in the watermark
DM_FAILED (0) Field content not authenticated and does not match the field value embedded in the watermark.
DM_ERROR_WM_NOT_FOUND (-3) Digimarc™ library is missing; authentication failed

Integer that reports the verification results of the State field (read-only)

Note: The content of this property is valid only if the GeneralWaterMark property is DM_SUCCESS.

Return Values

Value Description
DM_SUCCESS (1) Field content authenticated and matches the field value embedded in the watermark
DM_FAILED (0) Field content not authenticated and does not match the field value embedded in the watermark.
DM_ERROR_WM_NOT_FOUND (-3) Digimarc™ library is missing; authentication failed

Returns template name of the last processed image (read-only)

Syntax

DocType As String

Parameters

None

Return Values

Returns the DocType value

Returns first name data from the document and not from the MRZ lines (read-only)

Syntax

NameFirst_NonMRZ As String

Parameters

None

Return Values

Returns the NameFirst_NonMRZ value

Returns last name data from the document and not from the MRZ lines (read-only)

Syntax

NameLast_NonMRZ As String

Parameters

None

Return Values

Returns the NameLast_NonMRZ value

Returns suffix name data from the document and not from the MRZ lines (read-only)

Syntax

NameSuffix As String

Parameters

None

Return Values

Returns the NameSuffix value

Returns last name 1 data from the document (primarily used in Spain cards that contain more than one last name) (read-only)

Syntax

NameLast1 As String

Returns last name 2 data from the document (primarily used in Spain cards that contain more than one last name) (read-only)

Extracts the date fields in the required format (also applies to passport date fields) (read-only)

Return Values

Value Description
EXTRACT_DATE_FORMAT_NONE 0 (Use the default date extraction)
EXTRACT_DATE_FORMAT_MDY 1 (mm-dd-yy)
EXTRACT_DATE_FORMAT_DMY 2 (dd-mm-yy)
EXTRACT_DATE_FORMAT_YMD 3 (yy-mm-dd)
EXTRACT_DATE_FORMAT_YDM 4 (yy-dd-mm)

Returns the Mother Name data from the document (read-only)

Returns the Father Name data from the document (read-only)

Returns the Issue Date Local data from the document (Issue Date in a local format or language) (read-only)

Returns the Issue Date of Birth Local data from the document (Date of Birth in a local format or language) (read-only)

Returns the Nationality data from the document (read-only)

Returns the Place of Issue data from the document (read-only)

Returns the Place of Birth data from the document (read-only)

Syntax