id_card_ocr_web
A high-performance, privacy-focused, pure client-side OCR parsing package for Flutter Web. Extract crucial structural data fields from national identity cards directly inside the browser—no server-side backend roundtrips required.
Currently optimized for:
- Indonesia: KTP (NIK, Nama, Tempat Lahir, Tanggal Lahir)
- Malaysia: (On Progress)
Features
- Privacy First: Fully client-side processing using Web Workers. Sensitive PII data never leaves the user's browser.
- Wasm Ready: Built using the modern
dart:js_interoplayer for forward-compatibility with Flutter Web's WebAssembly compilation backend. - Pre-Processing Utilities: Includes localized image matrix enhancements (grayscale conversion, edge sharpening) and string repairing modules to minimize Tesseract text mutations.
Getting Started
1. Ingest Package Dependency
Add the plugin to your project's pubspec.yaml:
dependencies:
id_card_ocr_web: ^1.2.0
2. Initialize the Engine
Eagerly boot up and append the required engine assets into the browser DOM during your app initialization sequence:
void main() {
WidgetsFlutterBinding.ensureInitialized();
IdCardOcr.initialize(); // Injects script tags eagerly
runApp(const MyApp());
}