amazon-textract-preview
v1.0.3
Published
Library to display Extracted text from Amazon Textract
Downloads
10
Maintainers
Readme
amazon-textract-preview
amazon-textract-preview
is a React component that allows you to create interactive previews from OCR data generated by AWS Textract. This component draws borders around detected text in an image, shows tooltips with the text on hover, and allows the text to be copied to the clipboard when clicked.
Live Demo
You can also check out a live demo of the application here.
Features
- Interactive Borders: Displays borders around detected text in an image.
- Tooltips: Shows the recognized text in a tooltip when hovering over the highlighted area.
- Text Copy: Allows users to copy the detected text to the clipboard by clicking on the highlighted area.
Installation
Install the package via npm:
npm install amazon-textract-preview
or via yarn:
yarn add amazon-textract-preview
Usage
Below is a basic example demonstrating how to use the amazon-textract-preview component:
import React, { useState } from 'react';
import ImageContainer from 'amazon-textract-preview';
import invoiceImage from '../assets/image-invoice.jpg';
function App() {
const [data, setData] = useState<any>(null);
const fetchData = () => {
// code to fetch data through api or aws sdk
setData(scannedData);
}
return (
<div className="App">
<button onClick={fetchData} className="scan-button">
Scan
</button>
<ImageContainer data={data}>
<img src={invoiceImage} alt="Invoice" height={600} width={400} />
</ImageContainer>
</div>
);
}
export default App;
You can target specific classNames to style Tooltip or Text Inside Tooltip:
.img-previewer-tooltip .img-previewer-tooltip-text
Example Data Format
The data prop should be in the format returned by AWS Textract, similar to the example below:
{
"DocumentMetadata": {
"Pages": 1
},
"Blocks": [
{
"BlockType": "PAGE",
"Geometry": {
// Geometry details here
}
}
]
}
License
This package is MIT licensed.
Contributing
Feel free to open issues or submit pull requests if you find any bugs or want to add features. Contributions are welcome!
Support
For any questions or issues, please open an issue on the GitHub repository or contact the package maintainer.