Scanning SDK integration guide.
Quickstart per platform, configuration reference, capture API, fraud signals, and ID extraction add-on.
Overview
The Mobile Scanning SDK runs entirely on-device. One license covers iOS, Android, React Native and Flutter together. Output is layout-preserving PDF, multi-page TIFF, or JPEG, with intelligent compression applied before the file ever leaves the device. Building for the browser? That is the separate Browser Imaging Library.
Trial keys ship as 30-day licenses, watermark-free for the trial period. Move to the paid license from the portal with no code changes.
License + activation
Every app initialises the SDK with a license key issued in the portal. Keys are bound to your bundle identifier (iOS) or package name (Android).
Trial vs production keys
Trial keys are valid for 30 days. Production keys are issued after subscription activation, and do not expire while the subscription is active. Both work against the same APIs, no code change between trial and production.
iOS (Swift / SwiftUI)
1. Install
// Package.swift dependency .package(url: "https://github.com/abscode/scanning-ios", from: "1.0.0")
2. Initialise + capture
import AbscodeScanning AbscodeScanning.configure(licenseKey: "abs_scan_...") let capture = ScanCaptureController() capture.outputFormat = .pdf capture.compressionProfile = .balanced capture.present(from: self) { result in print(result.fileURL) }
Android (Kotlin)
1. Install
implementation("com.abscode:scanning:1.0.0")2. Initialise + capture
AbscodeScanning.configure(licenseKey = "abs_scan_...") val intent = ScanCaptureActivity.intent( context = this, outputFormat = OutputFormat.PDF, compression = CompressionProfile.BALANCED ) startActivityForResult(intent, REQUEST_SCAN)
Scanning in the browser?
Browser-based capture and imaging is its own product, the Browser Imaging Library, licensed per domain with its own pricing and documentation. The Mobile Scanning SDK covers iOS, Android, React Native and Flutter.
React Native
npm install @abscode/scanning-rn npx pod-install
Flutter
dependencies: abscode_scanning: ^1.0.0
Capture API
A single entry point per platform launches the capture UI. Auto and assisted modes share the same configuration surface.
| Property | Values | Notes |
|---|---|---|
mode | auto · assisted · manual | Auto-detects document edges and captures when stable |
outputFormat | pdf · tiff · jpeg | Multi-page TIFF included in the license |
compressionProfile | min · balanced · max | Trade-off between size and OCR-readability |
dpi | 72 / 150 / 300 / 600 | Default 300, adequate for OCR |
autoRotate | boolean | Defaults to true |
Configuration
All capture defaults are configurable via a single options bag passed at SDK init or per-capture. Common reasons to tune defaults: regulatory DPI requirement (archival), low-bandwidth deployment (max compression), or high-fidelity downstream OCR (min compression).
Output formats
- PDF, single or multi-page, layout-preserved. A searchable OCR text layer is available with the Document AI on-premise deployment.
- Multi-page TIFF, for legacy archive systems that require TIFF input.
- JPEG, single-image output, useful for thumbnails or preview.
Compression
Intelligent format-aware compression, up to 90% file-size reduction with no perceptible loss in visual or OCR quality. Three preset profiles, or pass an explicit target file size.
Device Guard
Generates an evidentiary fingerprint at capture time, device class, OS, jailbreak/root signals, capture mode (live vs gallery), timestamp, and optionally GPS + DIGIPIN. Included in the SDK license.
Use cases
Fintech KYC fraud detection, insurance claim evidence, government-grade ID capture, mobile audit trails. The output ships with every capture as a signed metadata blob.
ID Extraction add-on
Region-specific templates for in-app structured extraction at capture time, no separate API round-trip required for common ID documents.
- India: Aadhaar, PAN, Voter ID, Driving License
- GCC: Emirates ID, Iqama
- Africa: BVN, NIN, KRA
Add-on priced at /year on top of the SDK license. All prices exclude tax. In India, GST is added at the prevailing rate.All prices exclude VAT, sales tax and any withholding tax.
QR / Barcode scanning + generation
Built into the SDK. Supports QR, Data Matrix, Code 128, Code 39, EAN-13, UPC-A, PDF417, MRZ.
Sample apps
Full reference apps shipped per platform under github.com/abscode/scanning-samples, KYC onboarding, insurance claim capture, expense receipt scan, and proof-of-delivery flows.
Versions
| Platform | Latest | Package |
|---|---|---|
| iOS | 1.0.0 | AbscodeScanning (SPM / CocoaPods) |
| Android | 1.0.0 | com.abscode:scanning |
| React Native | 1.0.0 | @abscode/scanning-rn |
| Flutter | 1.0.0 | abscode_scanning |
This is a docs landing page
Full documentation will include per-method API reference, error code dictionary, embedded sandbox per platform, OpenAPI / Swagger spec for the addon endpoints, and per-use-case tutorial guides.