Giter Site home page Giter Site logo

beast / react-native-scan-doc Goto Github PK

View Code? Open in Web Editor NEW
40.0 6.0 9.0 285 KB

A document scanner that automatically trims the edge with perspective transform

License: MIT License

Java 99.53% JavaScript 0.17% Objective-C 0.23% Python 0.08%
react-native scanned-documents

react-native-scan-doc's Introduction

react-native-scan-doc (WIP, Looking for Contributors)

Read before you proceed:

Most of the scan doc package out there cost a fortune. Last time I looked into one it cost tens of thousands euros a year.

Getting Opencv package to play nicely with RN out-of-box is almost impossible. Part of the reason is also that I try to avoid using install OpenCV manager for Android. Believe me I had tried make it as dummy as possible to the best of my knowledge. But the reality is setting up opencv to work nicely with Android itself is a challenging enough task.

I suggest you look at a few examples to understand how OpenCV works with Android first then proceed to manual installation. https://blog.nishtahir.com/2015/11/11/setting-up-for-android-ndk-development/

Try out my Android Native Scan Doc sample if you want to first check out how the scan doc helps you to crop a doc in image.

Again, I am open to have some help from the community to improve the package documentation.

I myself unfortunately is tied up with other work of my own. Will look into this seriously once I got time and resource. Thanks.

Getting started

$ npm install react-native-scan-doc --save

Mostly automatic installation (You still need to setup OpenCV yourself, read more)

$ react-native link react-native-scan-doc

##Features

Android

  • Scan document.
  • Perspective Transform.

iOS

  • Scan document.
  • Perspective Transform.

##Requirements

Android

API 16+

iOS

iOS 8+

React Native

RN 0.38+

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-scan-doc and add RNScanDoc.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNScanDoc.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 my.fin.RNScanDocPackage; to the imports at the top of the file
  • Add new RNScanDocPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':react-native-scan-doc'
    project(':react-native-scan-doc').projectDir = new File(rootProject.projectDir, 	'../node_modules/react-native-scan-doc/android')
    
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
      compile project(':react-native-scan-doc')
    

Usage

import RNScanDoc from 'react-native-scan-doc';

// TODO: What do with the module?
RNScanDoc;

react-native-scan-doc's People

Contributors

beastcn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

react-native-scan-doc's Issues

Compilation error

Hello,

I've added "react-native-scan-doc": "git+https://[email protected]/beast/react-native-scan-doc.git" and npm install the package; I both tried manual and linking installation and it fail at compiling, it might something stupid to you but I'm not so used about Android.

Console output:

Scanning 696 folders for symlinks in /Users/xkraty/projects/bridge-mobile/node_modules (18ms)
JS server already running.
Building and installing the app on the device (cd android && ./gradlew installDebug)...
Incremental java compilation is an incubating feature.

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/xkraty/projects/bridge-mobile/node_modules/react-native-scan-doc/android/build.gradle' line: 36

* What went wrong:
A problem occurred evaluating project ':react-native-scan-doc'.
> Project with path ':openCVLibrary320' could not be found in project ':react-native-scan-doc'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Thanks in advance
Chris

Can not npm install react-native-scan-doc

I try to install react-native-scan-doc but i can't.
npm ERR! code E404
npm ERR! 404 Not Found: react-native-scan-doc@latest

npm ERR! A complete log of this run can be found in:
npm ERR! /Users/mac/.npm/_logs/2017-10-18T23_44_54_356Z-debug.log

Really hope you can fix it.

Can't build example

I've tried to build the example, but get the following build error:

/Users/georg/Downloads/react-native-scan-doc/example/android/app/src/main/java/com/example/MainApplication.java:57: error: cannot find symbol
        scanDocPackage.onActivityCreated(myactivity);
                      ^
  symbol:   method onActivityCreated(Activity)
  location: variable scanDocPackage of type RNScanDocPackage
1 error
:app:compileDebugJavaWithJavac FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

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.