6.0.1 • Published 24 days ago

@capacitor-community/image-to-text v6.0.1

Weekly downloads
-
License
Hippocratic Licen...
Repository
github
Last release
24 days ago

Credits

This project was forked from the Cap ML plugin written by Vennela Kodali. It was refactored and converted to Capacitor 4.

  • For Capacitor 4 projects use v4.x
  • For Capacitor 5 projects use v5.x
  • For Capacitor 6 projects use v6.x

Installation

npm install @capacitor-community/image-to-text

Usage

There is one method detectText that takes a filename of an image and will return the text associated with it.

Add the following to your application:

import { Ocr, TextDetections } from '@capacitor-community/image-to-text';

...

const data: TextDetections = await Ocr.detectText({ filename: '[get-filename-of-image-jpg]' });
for (let detection of data.textDetections) {
    console.log(detection.text);
}

The above code will convert the image file and console.log the text found in it.

Example with Camera

You can use the @capacitor/camera plugin to take a photo and convert it to text:

import { Camera, CameraResultType, CameraSource } from '@capacitor/camera';
import { Ocr, TextDetections } from '@capacitor-community/image-to-text';

...

const photo = await Camera.getPhoto({
  quality: 90,
  allowEditing: true,
  resultType: CameraResultType.Uri,
  source: CameraSource.Camera,
});

const data: TextDetections = await Ocr.detectText({ filename: photo.path });

for (let detection of data.textDetections) {
  console.log(detection.text);
}

A full sample application can be found here.

video of scanning a card and it being converted to text

iOS Usage

No additional setup is required to use this plugin in a iOS Capacitor project.

Android Usage

Your project must include a google-services.json file stored in the Android project folder (usually android/app).

Create Firebase Project and App

  • Sign in to console.firebase.google.com
  • Click on Add Project and follow through the steps.
  • Click the Android icon to create an android app.
  • Enter the Package Name which must match your apps package name (You can find it in android/app/AndroidManifest.xml).
  • Click Register App
  • Download google-services.json and save into your project's android/app directory.

Add Firebase SDK

The sample project has this in place in its build.gradle (see here as a reference).

Note: Most starter Capacitor projects are preconfigured to load google-services.json.

API Reference

detectText(...)

detectText(options: DetectTextFileOptions | DetectTextBase64Options) => Promise<TextDetections>

Detect text in an image

ParamTypeDescription
optionsDetectTextFileOptions | DetectTextBase64OptionsOptions for text detection

Returns: Promise<TextDetections>


Interfaces

TextDetections

PropType
textDetectionsTextDetection[]

TextDetection

PropType
bottomLeftnumber, number
bottomRightnumber, number
topLeftnumber, number
topRightnumber, number
textstring

DetectTextFileOptions

PropType
filenamestring
orientationImageOrientation

DetectTextBase64Options

PropType
base64string
orientationImageOrientation

Enums

ImageOrientation

MembersValue
Up'UP'
Down'DOWN'
Left'LEFT'
Right'RIGHT'

Compatibility

Images are expected to be in portrait mode only, i.e. with text facing up. It will try to process even otherwise, but note that it might result in gibberish.

iOS and Android are supported. Web is not.

Featureiosandroid
ML FrameworkCoreML VisionFirebase MLKit
Text Detection with Still ImagesYesYes
Detects lines of textYesYes
Bounding Coordinates for TextYesYes
Image OrientationYes (Up, Left, Right, Down)Yes (Up, Left, Right, Down)
Skewed TextYesUnreliable
Rotated Text (<~ 45deg)YesYes (but with noise)
On-DeviceYesYes
SDK/ios Versionios 13.0 or newerTargets API level >= 16Uses Gradle >= 4.1com.android.tools.build:gradle >= v3.2.1compileSdkVersion >= 28

License

Hippocratic License Version 2.0.

For more information, refer to LICENSE file

6.0.1

24 days ago

6.0.0

24 days ago

5.0.3

6 months ago

5.0.2

8 months ago

5.0.1

1 year ago

5.0.0

1 year ago

4.0.2

1 year ago

4.0.1

1 year ago

4.0.0

1 year ago