IND Passport - India OCR Node.js
The Node.js OCR SDK supports the Passport - India API.
Using the sample below, we are going to illustrate how to extract the data that we want using the OCR SDK.
Quick-Start
const mindee = require("mindee");
// for TS or modules:
// import * as mindee from "mindee";
// Init a new client
const mindeeClient = new mindee.Client({ apiKey: "my-api-key" });
// Load a file from disk
const inputSource = mindeeClient.docFromPath("/path/to/the/file.ext");
// Parse the file
const apiResponse = mindeeClient.enqueueAndParse(
mindee.product.ind.IndianPassportV1,
inputSource
);
// Handle the response Promise
apiResponse.then((resp) => {
// print a string summary
console.log(resp.document.toString());
});
Output (RST):
########
Document
########
:Mindee ID: cf88fd43-eaa1-497a-ba29-a9569a4edaa7
:Filename: default_sample.jpg
Inference
#########
:Product: mindee/ind_passport v1.0
:Rotation applied: Yes
Prediction
==========
:Page Number: 1
:Country: IND
:ID Number: J8369854
:Given Names: JOCELYN MICHELLE
:Surname: DOE
:Birth Date: 1959-09-23
:Birth Place: GUNDUGOLANU
:Issuance Place: HYDERABAD
:Gender: F
:Issuance Date: 2011-10-11
:Expiry Date: 2021-10-10
:MRZ Line 1: P<DOE<<JOCELYNMICHELLE<<<<<<<<<<<<<<<<<<<<<
:MRZ Line 2: J8369854<4IND5909234F2110101<<<<<<<<<<<<<<<8
:Legal Guardian:
:Name of Spouse:
:Name of Mother:
:Old Passport Date of Issue:
:Old Passport Number:
:Address Line 1:
:Address Line 2:
:Address Line 3:
:Old Passport Place of Issue:
:File Number:
Field Types
Standard Fields
These fields are generic and used in several products.
Basic Field
Each prediction object contains a set of fields that inherit from the generic Field
class.
A typical Field
object will have the following attributes:
- value (
number | string
): corresponds to the field value. Can beundefined
if no value was extracted. - confidence (
number
): the confidence score of the field prediction. - boundingBox (
[Point, Point, Point, Point]
): contains exactly 4 relative vertices (points) coordinates of a right rectangle containing the field in the document. - polygon (
Point[]
): contains the relative vertices coordinates (Point
) of a polygon containing the field in the image. - pageId (
number
): the ID of the page, alwaysundefined
when at document-level. - reconstructed (
boolean
): indicates whether an object was reconstructed (not extracted as the API gave it).
Note: A
Point
simply refers to an array of two numbers ([number, number]
).
Aside from the previous attributes, all basic fields have access to a toString()
method that can be used to print their value as a string.
Classification Field
The classification field ClassificationField
does not implement all the basic Field
attributes. It only implements value, confidence and pageId.
Note: a classification field's
value is always a
string`.
Date Field
Aside from the basic Field
attributes, the date field DateField
also implements the following:
- dateObject (
Date
): an accessible representation of the value as a JavaScript object.
String Field
The text field StringField
only has one constraint: its value is a string
(or undefined
).
Attributes
The following fields are extracted for Passport - India V1:
Address Line 1
address1 (StringField): The first line of the address of the passport holder.
console.log(result.document.inference.prediction.address1.value);
Address Line 2
address2 (StringField): The second line of the address of the passport holder.
console.log(result.document.inference.prediction.address2.value);
Address Line 3
address3 (StringField): The third line of the address of the passport holder.
console.log(result.document.inference.prediction.address3.value);
Birth Date
birthDate (DateField): The birth date of the passport holder, ISO format: YYYY-MM-DD.
console.log(result.document.inference.prediction.birthDate.value);
Birth Place
birthPlace (StringField): The birth place of the passport holder.
console.log(result.document.inference.prediction.birthPlace.value);
Country
country (StringField): ISO 3166-1 alpha-3 country code (3 letters format).
console.log(result.document.inference.prediction.country.value);
Expiry Date
expiryDate (DateField): The date when the passport will expire, ISO format: YYYY-MM-DD.
console.log(result.document.inference.prediction.expiryDate.value);
File Number
fileNumber (StringField): The file number of the passport document.
console.log(result.document.inference.prediction.fileNumber.value);
Gender
gender (ClassificationField): The gender of the passport holder.
Possible values include:
- M
- F
console.log(result.document.inference.prediction.gender.value);
Given Names
givenNames (StringField): The given names of the passport holder.
console.log(result.document.inference.prediction.givenNames.value);
ID Number
idNumber (StringField): The identification number of the passport document.
console.log(result.document.inference.prediction.idNumber.value);
Issuance Date
issuanceDate (DateField): The date when the passport was issued, ISO format: YYYY-MM-DD.
console.log(result.document.inference.prediction.issuanceDate.value);
Issuance Place
issuancePlace (StringField): The place where the passport was issued.
console.log(result.document.inference.prediction.issuancePlace.value);
Legal Guardian
legalGuardian (StringField): The name of the legal guardian of the passport holder (if applicable).
console.log(result.document.inference.prediction.legalGuardian.value);
MRZ Line 1
mrz1 (StringField): The first line of the machine-readable zone (MRZ) of the passport document.
console.log(result.document.inference.prediction.mrz1.value);
MRZ Line 2
mrz2 (StringField): The second line of the machine-readable zone (MRZ) of the passport document.
console.log(result.document.inference.prediction.mrz2.value);
Name of Mother
nameOfMother (StringField): The name of the mother of the passport holder.
console.log(result.document.inference.prediction.nameOfMother.value);
Name of Spouse
nameOfSpouse (StringField): The name of the spouse of the passport holder (if applicable).
console.log(result.document.inference.prediction.nameOfSpouse.value);
Old Passport Date of Issue
oldPassportDateOfIssue (DateField): The date of issue of the old passport (if applicable), ISO format: YYYY-MM-DD.
console.log(result.document.inference.prediction.oldPassportDateOfIssue.value);
Old Passport Number
oldPassportNumber (StringField): The number of the old passport (if applicable).
console.log(result.document.inference.prediction.oldPassportNumber.value);
Old Passport Place of Issue
oldPassportPlaceOfIssue (StringField): The place of issue of the old passport (if applicable).
console.log(result.document.inference.prediction.oldPassportPlaceOfIssue.value);
Page Number
pageNumber (ClassificationField): The page number of the passport document.
Possible values include:
- 1
- 2
console.log(result.document.inference.prediction.pageNumber.value);
Surname
surname (StringField): The surname of the passport holder.
console.log(result.document.inference.prediction.surname.value);
Questions?
Updated about 1 month ago