NuGet · v1.0.12 · .NET 10 MAUI

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.

Cattura.SDK.Test.csproj
<!-- 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);
✓ .NET MAUI 10 ✓ Android 11+ ✓ Zebra AI DataCapture 3.2.8 44+ Barcode symbologies AI OCR on-device Device License DEMO mode
Features

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.

How it works

Four steps from package to result.

Cattura SDK abstracts the entire Zebra AI DataCapture stack. You write C#, we handle the rest.

1

Install NuGet

Add Suntech.Cattura.SDK to your project. AI model packages are resolved automatically as transitive dependencies.

2

Initialize

Call CatturaScanner.Initialize(context, licenseKey) once at startup. Pass "DEMO" to skip license verification during development.

3

Configure & Scan

Set recognition mode, selection mode and filters via CatturaConfig, then call Scan() to open the built-in camera overlay.

4

Receive results

Your ICatturaCallback receives strongly-typed CatturaResult objects with value, type, symbology and confidence.

Selection modes

Three ways to collect scan results.

Choose the interaction model that fits your warehouse workflow. All three modes work with both Barcode and OCR.

Automatic

⚡ Instant capture

The first recognized item is sent immediately and the overlay closes. Best for single-item workflows where speed is critical.

Accumulate

📋 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.

Manual

🎯 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.

Quick start

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);
Compatible devices

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)

NuGet packages

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.

Suntech.Cattura.SDK
~47 MB

Main package. SDK binding + runtime. The only one you add to your project.

← reference this one
Suntech.Cattura.SDK
.ZebraBarcode
~108 MB

Barcode AI localizer model (barcode-localizer-5.0.2). Auto-resolved transitive dependency.

auto-resolved
Suntech.Cattura.SDK
.ZebraOcr
~197 MB

OCR AI recognizer model (text-ocr-recognizer-2.8.1). Auto-resolved transitive dependency.

auto-resolved
License

Start 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

Free / no expiry
  • Full SDK functionality enabled
  • All barcode symbologies active
  • OCR recognition active
  • ~Results partially masked (~40% chars replaced with *)
  • No device restriction
  • No network calls
Get started with DEMO
Production

Commercial License

Contact us / per deployment
  • 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
Request a license →

To obtain a license, provide your device serials: adb shell getprop ro.serialno

FAQ

Frequently asked questions.

Ready to scan smarter?

Add one NuGet reference and start reading barcodes and text with AI — today.

Contact

We're here to help.

For license requests, device authorizations or technical support, reach out to our team.

When 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 logcat output