Skip to content

RahimKh/react-native-tesseract-ocr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

react-native-tesseract-ocr

react-native-tesseract-ocr is a react-native wrapper for Tesseract OCR using base on

Getting started

$ npm install react-native-tesseract-ocr --save

Mostly automatic installation

$ react-native link react-native-tesseract-ocr

Don't forget to add trained data files to the appropriate folder

Manual installation

iOS

  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modulesreact-native-tesseract-ocr and add RNTesseractOcr.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNTesseractOcr.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)<

Android

  1. 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 the getPackages() method
  1. 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')
    
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
      compile project(':react-native-tesseract-ocr')
    
  3. Trained data files for a language must be extracted in android/app/src/main/assets/tessdata.

Usage

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();

Supported languages

  • LANG_AFRIKAANS
  • LANG_AMHARIC
  • LANG_ARABIC
  • LANG_ASSAMESE
  • LANG_AZERBAIJANI
  • LANG_BELARUSIAN
  • LANG_BOSNIAN
  • LANG_BULGARIAN
  • LANG_CHINESE_SIMPLIFIED
  • LANG_CHINESE_TRADITIONAL
  • LANG_CROATIAN
  • LANG_DANISH
  • LANG_ENGLISH
  • LANG_ESTONIAN
  • LANG_FRENCH
  • LANG_GALICIAN
  • LANG_GERMAN
  • LANG_HEBREW
  • LANG_HUNGARIAN
  • LANG_ICELANDIC
  • LANG_INDONESIAN
  • LANG_IRISH
  • LANG_ITALIAN
  • LANG_JAPANESE
  • LANG_KOREAN
  • LANG_LATIN
  • LANG_LITHUANIAN
  • LANG_NEPALI
  • LANG_NORWEGIAN
  • LANG_PERSIAN
  • LANG_POLISH
  • LANG_PORTUGUESE
  • LANG_RUSSIAN
  • LANG_SERBIAN
  • LANG_SLOVAK
  • LANG_SPANISH
  • LANG_SWEDISH
  • LANG_TURKISH
  • LANG_UKRAINIAN
  • LANG_VIETNAMESE

Example

Try the included TesseractOcrSample:

  • git clone [email protected]:jonathanpalma/react-native-tesseract-ocr.git
  • cd react-native-tesseract-ocr/tesseractOcrSample/
  • npm install

NOTE: Don't forget to add trained data files to the appropriate folder

TODOS

  • Add iOS support
  • Optimize ocr for large images

Contribution

Contributions are welcome 🙌

License

This repository is distributed under MIT license

About

Tesseract OCR wrapper for React Native

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 96.1%
  • Objective-C 2.8%
  • JavaScript 1.1%