GithubHelp home page GithubHelp logo

tieusangaka / react-native-tesseract-ocr Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jonathanpalma/react-native-tesseract-ocr

0.0 2.0 0.0 134 KB

Tesseract OCR wrapper for React Native

License: MIT License

Java 53.27% JavaScript 18.46% Objective-C 20.94% Python 7.34%

react-native-tesseract-ocr's Introduction

react-native-tesseract-ocr npm version

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 v3.04 trained data files to the appropriate folder
  • install CocoaPods in your react-native project and add the following line to your Podfile then run pod install (iOS only)
    pod 'TesseractOCRiOS', '4.0.0'
    

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. v3.04 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

If you want to use your own trained data file

  • LANG_CUSTOM

Locate your own trained data file as custom.traineddata into android/app/src/main/assets/tessdata.

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 v3.04 trained data files to the appropriate folder
  • install CocoaPods in your react-native project and add the following line to your Podfile then run pod install (iOS only)
    pod 'TesseractOCRiOS', '4.0.0'
    

TODOS

Check the project boards

Contribution

Contributions are welcome 🙌

License

This repository is distributed under MIT license

react-native-tesseract-ocr's People

Contributors

jonathanpalma avatar aphex3k avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.