NanoNets' Optical Character Recognition Node.js SDK.
npm install @nanonets/optical-character-recognition
npm install @nanonets/optical-character-recognition
`
Use the NanoNets OCR SDK
> NOTE: A fully working example using the SDK can be found in the example directory.
1. Import/require the OCR package.
`javascript
// ES Modules
import OpticalCharacterRecognition from "@nanonets/optical-character-recognition";
// CommonJS
const OpticalCharacterRecognition = require("@nanonets/optical-character-recognition");
`
2. Instantiate the Optical Character Recognition (OCR) class.
`javascript
const ocr = new OpticalCharacterRecognition(apiKey, modelId);
`
> NOTE:
>
> - The API Key can be found in the user's NanoNets Account section and Model ID can be found in the model's settings in the NanoNets web app.
> - Models need to be created and trained from the NanoNets web app before being able to make predictions.
3. Use the Optical Character Recognition API to get prediction results from the model(s).
Optical Character Recognition API
$3
- Class Instantiation (Constructor)
- Get Model Details
- Get All Predicted File Data
- Get Predicted File Data
- Predict Using URLs
- Predict Using File
$3
`javascript
const ocr = new OpticalCharacterRecognition(apiKey, modelId);
`
#### Parameters
- apiKey
- Type: String
- Required: True
- modelId
- Type: String
- Required: True
> NOTE:
>
> - Class Instantiation is mandatory.
> - The API Key can be found in the user's NanoNets Account section and Model ID can be found in the model's settings in the NanoNets web app.
> - API Keys have full access to the user's account. Please do not expose API Keys on the client.
> - Please note that compiling, obfuscating, minifying or bundling (for example in React.js, Angular, Vue.js, React Native, etc.) does not hide the API Key and it can still be extracted from the final application.
> - The API Key should only be known to the server code and all client requests to the API must go through a server.
$3
`javascript
await ocr.getModelDetails();
`
Response example and other details
> The getModelDetails function returns a promise, so it needs to be awaited.
$3
`javascript
await ocr.getAllPredictedFileData(startInterval, endInterval);
`
#### Parameters
- startInterval
- Type: Number (Integer)
- Required: True
- endInterval
- Type: Number (Integer)
- Required: True
Response example and other details
> The getAllPredictedFileData function returns a promise, so it needs to be awaited.
$3
`javascript
await ocr.getPredictedFileData(fileId);
`
#### Parameters
- fileId
- Type: String
- Required: True
Response example and other details
> The getPredictedFileData function returns a promise, so it needs to be awaited.
$3
`javascript
await ocr.predictUsingUrls(urlArray, isAsync);
`
#### Parameters
- urlArray
- Type: Array of Strings
- Required: True
- isAsync
- Type: Boolean
- Required: False
- Default: False
#### Response Example and Other Details
- Synchronous upload
- Asynchronous upload
> The predictUsingUrls function returns a promise, so it needs to be awaited.
$3
`javascript
await ocr.predictUsingFile(filePath, isAsync);
`
#### Parameters
- filePath
- Type: String
- Required: True
- isAsync
- Type: Boolean
- Required: False
- Default: False
#### Response Example and Other Details
- Synchronous upload
- Asynchronous upload
> The predictUsingFile` function returns a promise, so it needs to be awaited.