DOCUMENTATION · MOBILE SCANNING SDK

Scanning SDK integration guide.

Quickstart per platform, configuration reference, capture API, fraud signals, and ID extraction addon.

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

Overview

The Mobile Scanning SDK runs entirely on-device. A single license unlocks a chosen platform — or pick a Multi-platform license that covers iOS, Android, and Web together. Output is layout-preserving PDF, multi-page TIFF, or JPEG, with intelligent compression applied before the file ever leaves the device.

Trial keys ship as 30-day licenses, watermark-free for the trial period. Move to a paid tier 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), package name (Android), or domain (Web).

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)

Web JS

npm
npm install @abscode/scanning-web
javascript
import { AbscodeScan } from "@abscode/scanning-web";

const scan = new AbscodeScan({
  licenseKey: "abs_scan_...",
  output: "pdf",
  compression: "balanced"
});

const result = await scan.capture();
console.log(result.fileUrl);

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 requires Plus tier
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, optional OCR text layer when paired with Document AI OCR API.
  • Multi-page TIFF — for legacy archive systems that require TIFF input (Plus tier).
  • 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 (Plus)

Generates an evidentiary fingerprint at capture time — device class, OS, jailbreak/root signals, capture mode (live vs gallery), timestamp, and optionally GPS + DIGIPIN. Available on the Plus and Enterprise tiers.

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 addon (Plus only)

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

Addon priced at $250–$350/year on top of Plus.

QR / Barcode scanning + generation

Built into every tier. 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
Web JS1.0.0@abscode/scanning-web
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.