AI Barcode & OCR
for Zebra devices
in C#.
Cattura SDK brings the full power of Zebra AI DataCapture to your .NET MAUI app with a single NuGet package — 44+ barcode symbologies, on-device OCR, offline license.
<!-- One reference. That's all. --> <PackageReference Include="Suntech.Cattura.SDK" Version="1.0.12" /> // Initialize once at app startup CatturaScanner.Initialize(context, "DEMO"); // Configure & scan CatturaScanner.Configure(new CatturaConfig { RecognitionMode = RecognitionMode.Barcode, SelectionMode = SelectionMode.Automatic }); CatturaScanner.Scan(activity, callback);
Everything you need for industrial scanning.
One package that covers the entire scanning workflow — from camera initialization to result delivery — with no boilerplate.
44+ Barcode symbologies
Code 128, QR Code, Data Matrix, PDF417, GS1 DataBar, EAN, UPC, Aztec, MaxiCode, Mailmark and 34 more. AI-based detection reads damaged, tilted or low-contrast labels.
AI OCR text recognition
Multi-line text detection using Zebra's AI model. Reads printed labels, embossed serial numbers, engraved part numbers. Configurable confidence threshold and 8 filter types.
Combined Barcode + OCR
Both recognition engines run simultaneously in the same camera preview. Each result is type-tagged (Barcode / OCR) so you can process mixed batches easily.
Built-in scanner UI
Fullscreen camera overlay included. Torch toggle, tap-to-focus, live settings panel (⚙), inactivity auto-close. No UI code required on your side.
Offline device license
Device-locked, verified locally — zero network calls at runtime. DEMO mode available for evaluation with no license required.
Clean C# async API
Full async/await support. The Kotlin callback model is bridged to a Task<IList<CatturaResult>> — idiomatic C#, no JNI boilerplate.
Four steps from package to result.
Cattura SDK abstracts the entire Zebra AI DataCapture stack. You write C#, we handle the rest.
Install NuGet
Add Suntech.Cattura.SDK to your project. AI model packages are resolved automatically as transitive dependencies.
Initialize
Call CatturaScanner.Initialize(context, licenseKey) once at startup. Pass "DEMO" to skip license verification during development.
Configure & Scan
Set recognition mode, selection mode and filters via CatturaConfig, then call Scan() to open the built-in camera overlay.
Receive results
Your ICatturaCallback receives strongly-typed CatturaResult objects with value, type, symbology and confidence.
Three ways to collect scan results.
Choose the interaction model that fits your warehouse workflow. All three modes work with both Barcode and OCR.
⚡ Instant capture
The first recognized item is sent immediately and the overlay closes. Best for single-item workflows where speed is critical.
📋 Batch collection
Items accumulate in a list as they are detected. The user confirms with SEND ALL to dispatch the entire batch, or taps a single item to send just that one.
🎯 Precise selection
Green boxes are drawn over each detected item. The user taps the box they want — ideal when multiple codes are in frame and only one is relevant.
Up and running in minutes.
Four tabs — install, scan barcodes, scan text, async wrapper. Copy, paste, done.
<!-- .csproj — only one reference needed --> <PackageReference Include="Suntech.Cattura.SDK" Version="1.0.12" /> <!-- AndroidManifest.xml --> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.VIBRATE" /> // Initialize once at app startup CatturaScanner.Initialize(context, "DEMO"); // or your license key // Optional — pre-load AI decoders in background (call from Activity) CatturaScanner.PreloadDecoders(activity);
Built for Zebra hardware.
Cattura SDK requires a Zebra device with AI DataCapture support. All processing runs on-device — no cloud, no network dependency.
| Device model | Chipset | Barcode | OCR video | DSP |
|---|---|---|---|---|
| ⚡ With DSP — fastest inference, most battery efficient | ||||
| TC53, TC58, TC73, TC78 | QC6490 | ✓ | ✓ | ✓ |
| ET60, ET65 | QC6490 | ✓ | ✓ | ✓ |
| EM45 | QC5430 | ✓ | ✓ | ✓ |
| ET401 | Q-6690 | ✓ | ✓ | ✓ |
| 🖼 Without DSP — still images only | ||||
| TC53e, TC58e, MC9400, MC9450 | QC4490 | ✓ | ✗ | ✗ |
Minimum OS: Android 11 (API 30) · OCR on video requires DSP chipset (QC6490 / QC5430 / Q-6690)
One reference. Three packages.
The AI models are large. We split them into satellite packages so NuGet can cache them independently. You only ever reference one package.
Main package. SDK binding + runtime. The only one you add to your project.
← reference this one.ZebraBarcode
Barcode AI localizer model (barcode-localizer-5.0.2). Auto-resolved transitive dependency.
auto-resolved.ZebraOcr
OCR AI recognizer model (text-ocr-recognizer-2.8.1). Auto-resolved transitive dependency.
auto-resolvedStart free. Deploy with confidence.
Evaluate with DEMO mode — no license, no limits on functionality. Request a commercial license when you are ready to ship.
DEMO
- ✓Full SDK functionality enabled
- ✓All barcode symbologies active
- ✓OCR recognition active
- ~Results partially masked (~40% chars replaced with *)
- ✓No device restriction
- ✓No network calls
Commercial License
- ✓Full results — no masking
- ✓Device-locked (RSA-SHA256)
- ✓Completely offline — no network required
- ✓Custom expiry date
- ✓Feature-scoped (barcode / OCR / both)
- ✓Named customer embedded in token
To obtain a license, provide your device serials: adb shell getprop ro.serialno
Frequently asked questions.
Ready to scan smarter?
Add one NuGet reference and start reading barcodes and text with AI — today.
We're here to help.
For license requests, device authorizations or technical support, reach out to our team.
Website
www.suntechonline.itWhen contacting support, include:
- 📱 Device model and Android version
- 📦 SDK version (currently 1.0.12)
- 🔑 Device serial for license requests:
adb shell getprop ro.serialno
or:CatturaScanner.GetDeviceId(context) - 🪵 Full exception message or
adb logcatoutput