IND Passport - India OCR PHP
The PHP 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
<?php
use Mindee\Client;
use Mindee\Product\Ind\IndianPassport\IndianPassportV1;
// Init a new client
$mindeeClient = new Client("my-api-key");
// Load a file from disk
$inputSource = $mindeeClient->sourceFromPath("/path/to/the/file.ext");
// Parse the file asynchronously
$apiResponse = $mindeeClient->enqueueAndParse(IndianPassportV1::class, $inputSource);
echo $apiResponse->document;
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.
BaseField
Each prediction object contains a set of fields that inherit from the generic BaseField
class.
A typical BaseField
object will have the following attributes:
- value (
float|string
): corresponds to the field value. Can benull
if no value was extracted. - confidence (
float
): 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 (
integer
): the ID of the page, alwaysnull
when at document-level. - reconstructed (
bool
): indicates whether an object was reconstructed (not extracted as the API gave it).
Note: A
Point
simply refers to a list of two numbers ([float, float]
).
Aside from the previous attributes, all basic fields have access to a custom __toString
method that can be used to print their value as a string.
ClassificationField
The classification field ClassificationField
does not implement all the basic BaseField
attributes. It only implements value, confidence and pageId.
Note: a classification field's
value is always a
string`.
DateField
Aside from the basic BaseField
attributes, the date field DateField
also implements the following:
- dateObject (
date
): an accessible representation of the value as a php object. Can benull
.
StringField
The text field StringField
implements the following:
- value (
string
): represents the value of the field as a string. - rawValue (
string
): the value of the string as it appears on the document.
Attributes
The following fields are extracted for Passport - India V1:
Address Line 1
address1 : The first line of the address of the passport holder.
echo $result->document->inference->prediction->address1->value;
Address Line 2
address2 : The second line of the address of the passport holder.
echo $result->document->inference->prediction->address2->value;
Address Line 3
address3 : The third line of the address of the passport holder.
echo $result->document->inference->prediction->address3->value;
Birth Date
birthDate : The birth date of the passport holder, ISO format: YYYY-MM-DD.
echo $result->document->inference->prediction->birthDate->value;
Birth Place
birthPlace : The birth place of the passport holder.
echo $result->document->inference->prediction->birthPlace->value;
Country
country : ISO 3166-1 alpha-3 country code (3 letters format).
echo $result->document->inference->prediction->country->value;
Expiry Date
expiryDate : The date when the passport will expire, ISO format: YYYY-MM-DD.
echo $result->document->inference->prediction->expiryDate->value;
File Number
fileNumber : The file number of the passport document.
echo $result->document->inference->prediction->fileNumber->value;
Gender
gender : The gender of the passport holder.
Possible values include:
- M
- F
echo $result->document->inference->prediction->gender->value;
Given Names
givenNames : The given names of the passport holder.
echo $result->document->inference->prediction->givenNames->value;
ID Number
idNumber : The identification number of the passport document.
echo $result->document->inference->prediction->idNumber->value;
Issuance Date
issuanceDate : The date when the passport was issued, ISO format: YYYY-MM-DD.
echo $result->document->inference->prediction->issuanceDate->value;
Issuance Place
issuancePlace : The place where the passport was issued.
echo $result->document->inference->prediction->issuancePlace->value;
Legal Guardian
legalGuardian : The name of the legal guardian of the passport holder (if applicable).
echo $result->document->inference->prediction->legalGuardian->value;
MRZ Line 1
mrz1 : The first line of the machine-readable zone (MRZ) of the passport document.
echo $result->document->inference->prediction->mrz1->value;
MRZ Line 2
mrz2 : The second line of the machine-readable zone (MRZ) of the passport document.
echo $result->document->inference->prediction->mrz2->value;
Name of Mother
nameOfMother : The name of the mother of the passport holder.
echo $result->document->inference->prediction->nameOfMother->value;
Name of Spouse
nameOfSpouse : The name of the spouse of the passport holder (if applicable).
echo $result->document->inference->prediction->nameOfSpouse->value;
Old Passport Date of Issue
oldPassportDateOfIssue : The date of issue of the old passport (if applicable), ISO format: YYYY-MM-DD.
echo $result->document->inference->prediction->oldPassportDateOfIssue->value;
Old Passport Number
oldPassportNumber : The number of the old passport (if applicable).
echo $result->document->inference->prediction->oldPassportNumber->value;
Old Passport Place of Issue
oldPassportPlaceOfIssue : The place of issue of the old passport (if applicable).
echo $result->document->inference->prediction->oldPassportPlaceOfIssue->value;
Page Number
pageNumber : The page number of the passport document.
Possible values include:
- 1
- 2
echo $result->document->inference->prediction->pageNumber->value;
Surname
surname : The surname of the passport holder.
echo $result->document->inference->prediction->surname->value;
Questions?
Updated about 1 month ago