DOCUMENTATION · MOBILE SCANNING SDK

Scanning SDK integration guide.

Quickstart per platform, configuration reference, capture API, fraud signals, and ID extraction add-on.

Other docs: Document AI APIs · Compression SDK · Docs home

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

Swift Package Manager
CocoaPods
// Package.swift dependency
.package(url: "https://github.com/abscode/scanning-ios", from: "1.0.0")

2. Initialise + capture

swift
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

Gradle (kts)
implementation("com.abscode:scanning:1.0.0")

2. Initialise + capture

kotlin
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
npm install @abscode/scanning-rn
npx pod-install

Flutter

pubspec.yaml
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.

PropertyValuesNotes
modeauto · assisted · manualAuto-detects document edges and captures when stable
outputFormatpdf · tiff · jpegMulti-page TIFF included in the license
compressionProfilemin · balanced · maxTrade-off between size and OCR-readability
dpi72 / 150 / 300 / 600Default 300, adequate for OCR
autoRotatebooleanDefaults 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

PlatformLatestPackage
iOS1.0.0AbscodeScanning (SPM / CocoaPods)
Android1.0.0com.abscode:scanning
React Native1.0.0@abscode/scanning-rn
Flutter1.0.0abscode_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.