Skip to main content

sprintocr 0.1.0 copy "sprintocr: ^0.1.0" to clipboard
sprintocr: ^0.1.0 copied to clipboard

Native OCR text recognition and ID card parser for Android (ML Kit) and iOS (Apple Vision). Standalone package with zero location or mapping dependencies.

sprintocr #

Native OCR text recognition and document extraction for Flutter apps powered by Google ML Kit on Android and Apple Vision framework on iOS. Standalone package with zero location or mapping dependencies.

Features #

  • โšก Native Engine Performance: Leverages Google ML Kit (Android) and Apple Vision (iOS) directly in native code.
  • ๐Ÿ“„ Single & Multi-Image OCR: Recognize text from individual photos or stitch text across multi-page document scans.
  • ๐Ÿงฑ Structured Text Recognition: Access detailed hierarchy (RecognizedTextResult, TextBlock, TextLine) with confidence scores and bounding boxes.
  • ๐Ÿงน Automatic Text Cleaning: Formats extracted text, strips raw debug tokens, and normalizes line breaks automatically.

Installation #

Add the package dependency to your pubspec.yaml:

dependencies:
  sprintocr: ^0.2.0

Platform Permissions #

Android (android/app/src/main/AndroidManifest.xml) #

If you plan to capture or pick images in your app:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />

iOS (ios/Runner/Info.plist) #

<key>NSCameraUsageDescription</key>
<string>Camera access is required to capture images for OCR text extraction.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Photo library access is required to select document images for text recognition.</string>

Example Usage #

1. Simple Text Extraction #

Extract clean, formatted text string directly from an image file path:

import 'package:sprintocr/sprintocr.dart';

void extractImageText(String imagePath) async {
  final ocr = SprintOcr();
  final String extractedText = await ocr.extractTextFromImage(imagePath);

  print('Extracted Text:\n$extractedText');
}

2. Multi-Page Document OCR #

Extract and merge text across multiple document page images:

void extractMultiPageDocument(List<String> imagePaths) async {
  final ocr = SprintOcr();
  final String multiPageText = await ocr.extractTextFromMultipleImages(imagePaths);

  print('Multi-Page Extracted Output:\n$multiPageText');
}

3. Structured Text Recognition (Blocks & Lines) #

Obtain detailed text blocks, individual lines, bounding boxes, and confidence levels:

void recognizeStructuredText(String imagePath) async {
  final ocr = SprintOcr();
  final RecognizedTextResult result = await ocr.recognizeText(imagePath);

  print('Full Text: ${result.text}');

  for (final block in result.blocks) {
    print('Block: ${block.text}');
    print('Block Bounding Box: ${block.boundingBox}');

    for (final line in block.lines) {
      print('  Line: ${line.text}');
      print('  Confidence: ${line.confidence}');
      print('  Line Bounding Box: ${line.boundingBox}');
    }
  }
}

Example App #

A full, runnable Flutter demonstration app is available in the example/ directory.

0
likes
150
points
56
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Native OCR text recognition and ID card parser for Android (ML Kit) and iOS (Apple Vision). Standalone package with zero location or mapping dependencies.

Homepage

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on sprintocr

Packages that implement sprintocr