react-native-tesseract-ocr is a react-native wrapper for Tesseract OCR using base on
- tess-two for Android
- Tesseract-OCR-iOS for iOS (Not implemented yet)
$ npm install react-native-tesseract-ocr --save
$ react-native link react-native-tesseract-ocr
Don't forget to add trained data files to the appropriate folder
- In XCode, in the project navigator, right click
Libraries➜Add Files to [your project's name] - Go to
node_modules➜react-native-tesseract-ocrand addRNTesseractOcr.xcodeproj - In XCode, in the project navigator, select your project. Add
libRNTesseractOcr.ato your project'sBuild Phases➜Link Binary With Libraries - Run your project (
Cmd+R)<
- Open up
android/app/src/main/java/[...]/MainActivity.java
- Add
import com.reactlibrary.RNTesseractOcrPackage;to the imports at the top of the file - Add
new RNTesseractOcrPackage()to the list returned by thegetPackages()method
- Append the following lines to
android/settings.gradle:include ':react-native-tesseract-ocr' project(':react-native-tesseract-ocr').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-tesseract-ocr/android') - Insert the following lines inside the dependencies block in
android/app/build.gradle:compile project(':react-native-tesseract-ocr') - Trained data files for a language must be
extracted in
android/app/src/main/assets/tessdata.
import RNTesseractOcr from 'react-native-tesseract-ocr';
/**
* @param {string} imgPath - The path of the image.
* @param {string} lang - The language you want to process.
*/
RNTesseractOcr.startOcr(imgPath, lang)
.then((result) => {
this.setState({ ocrResult: result });
console.log("OCR Result: ", result);
})
.catch((err) => {
console.log("OCR Error: ", err);
})
.done();- LANG_GERMAN
- LANG_ENGLISH
- LANG_FRENCH
- LANG_ITALIAN
- LANG_PORTUGUESE
- LANG_SPANISH
- LANG_SWEDISH
Try the included TesseractOcrSample:
git clone git@github.com:jonathanpalma/react-native-tesseract-ocr.gitcd react-native-tesseract-ocr/tesseractOcrSample/npm install
NOTE: Don't forget to add trained data files to the appropriate folder
- Add iOS support
Contributions are welcome 🙌
This repository is distributed under MIT license
- Tesseract OCR - maintained by Google, is distributed under Apache 2.0 license
- tess-two is distributed under Apache 2.0 license
- Tesseract-OCR-iOS is distributed under MIT license