Barcode

Scan capability overview

Anyline has leveraged our extensive computer vision and machine-learning expertise to develop a best-in-class 1D and 2D barcode symbology SDK. With the ability to tolerate real-world variations like reflections, warping due to cylindrical or curved surfaces, low contrast codes, damaged or obscured codes, and inverted polarity codes, customers can realize faster throughput and more accurate data quality in their front-line barcode scanning applications.

Single barcode scanning

Instantly detect and decode a single barcode with high accuracy. Optimized for real-time scanning across various barcode types, even in challenging conditions.

To enable the newly introduced fastProcessMode, add "fastProcessMode": true to your ScanViewConfig (under barcodeConfig). This will use our latest performance improvements introduced with Barcode:AI

  • When using fastProcessMode, result frame is returned in grayscale color format

  • fastProcessMode cannot be used with Composite Scanning

Single barcode scanning
{
  "pluginConfig": {
    "id": "MyBarcodePlugin",
    "barcodeConfig": {
      "multiBarcode": false,
      "fastProcessMode": true
    },
    "cancelOnResult": true
  }
}

For details, refer to the Plugin Config JSON schema.

Multiple barcode scanning

Capture multiple barcodes in a single scan session, improving efficiency for inventory tracking, logistics, and batch processing use cases.

To enable the newly introduced fastProcessMode, add "fastProcessMode": true to your ScanViewConfig (under barcodeConfig). This will use our latest performance improvements introduced with Barcode:AI

  • When using fastProcessMode, result frame is returned in grayscale

  • fastProcessMode cannot be used with Composite Scanning

Single barcode scanning
{
  "pluginConfig": {
    "id": "MyBarcodePlugin",
    "barcodeConfig": {
      "multiBarcode": true,
      "fastProcessMode": true
    },
    "cancelOnResult": true
  }
}

For details, refer to the Plugin Config JSON schema.

Filtering barcode scans - consecutiveEqualResultFilter

With version 55.0.0 consecutiveEqualResultFilter has been introduced. This option allows to finetune the handling results of the same content when scanning continuously. If the option is set to -1, equal results will not be reported again until the scanning process is stopped. Setting this option to 0 will report equal results every time it is found. Setting this option to greater than 0 indicates how much time (milliseconds) must pass by not detecting the result before it will be detected again.

{
  "pluginConfig": {
    "id": "MyBarcodePlugin",
    "barcodeConfig": {
      "multiBarcode": true,
      "fastProcessMode": true,
      "consecutiveEqualResultFilter": -1
    },
    "cancelOnResult": true
  }
}

For details, refer to the Plugin Config JSON schema.

Full screen scanning

To enable fullscreen scanning for your plugins, remove the cutoutConfig node from the config JSON. This setup enables object detection anywhere within the scan view, without displaying a cutout.

{
    "viewPluginConfig": {
        "pluginConfig": {
            "id": "barcode_fullframe",
            "barcodeConfig": {
                "barcodeFormats": [ "ALL" ]
            },
            "cancelOnResult": true
        },
        "scanFeedbackConfig": {
            "style": "rect",
            "strokeWidth": 1,
            "strokeColor": "#0099FF",
            "fillColor": "#330099FF",
            "beepOnResult": false,
            "vibrateOnResult": false,
            "blinkAnimationOnResult": false
        }
    }
}

This will allow objects being scanned to be detected wherever they are visible in the scan view. No cutout will be displayed.

In code, use the ALCutoutConfig’s defaultCutoutConfig method or pass a null value to the ALScanViewPluginConfig initializer.

While full frame scanning could technically be used on any Anyline plugin, this is only tested to work well with barcodes. Alternatively, you can simulate the clean look without the cutout by setting the strokeWidth and outerAlpha to 0 and adjusting the cutout region to fill as much of the scan view frame as possible.

4K resolution and Tele lens support

It is possible to utilize the camera’s 4K video stream (with devices that support it). To enable this, use "captureResolution": "4K" in your ScanViewConfig (under cameraConfig):

{
  "cameraConfig": {
    "captureResolution": "4K"
  }
}

For supported iOS devices, it is possible to select the tele-lens, which can provide a clearer, more focused image of barcodes at a distance. This can be particularly useful when scanning small or detailed barcodes that benefit from the optical zoom capabilities of the telephoto lens, resulting in more reliable and accurate scanning results compared to using the standard wide lens.

{
  "cameraConfig": {
    "defaultCamera": "TELE"
  }
}

For details, refer to ScanViewConfig Documentation.

ParseAAMVA

Extract and process structured data from AAMVA-compliant barcodes, commonly found on driver’s licenses and ID cards in the U.S.

Default: false – set it to true to enable automatic parsing.

For details, refer to the Plugin Config JSON schema.

Supported Formats

Custom Symbology Selection: Configure the scanner to detect only the barcode types relevant to your use case, improving speed and accuracy.

Barcode Code Example

1D Inverse

ONE_D_INVERSE

Aztec / Aztec vCard

AZTEC

Aztec Barcode

Aztec inverse

AZTEC_INVERSE

Bookland/ISBN-10

BOOKLAND

ISBN-10 Barcode

Codabar

CODABAR

Codabar Barcode

Code 11

CODE_11

Code 11 Barcode

Code 32

CODE_32

Code 32 Barcode

Code 39

CODE_39

Code 39 Barcode

Code 93

CODE_93

Code 93 Barcode

Code 128 / EAN-14 / EAN-18 / EAN-128

CODE_128

Code-128 Barcode

GS1 Databar

DATABAR

GS1-128 Coupon

COUPON

Data Matrix

DATA_MATRIX

Data Matrix Barcode

Discrete 2 of 5

DISCRETE_2_5

DotCode

DOT_CODE

EAN 8

EAN_8

EAN-8 Barcode

EAN 13 / EAN-99 / ISMN

EAN_13

EAN-13 Barcode

GS1 QR Code

GS1_QR_CODE

GS QR-Code Barcode

GS1 128

GS1_128

GS1-128 Barcode

ITF-14 / Leitcode

ITF

ITF-14 Barcode

ISSN

ISSN_EAN

ISBT 128

ISBT_128

ISBT-128 Barcode

Klant index (KIX)

KIX

MATRIX 2 of 5

MATRIX_2_5

MSI/Plessey

MSI

MSI/Plessey Barcode

Micro QR

MICRO_QR

Micro QR Code Barcode

Micro PDF417

MICRO_PDF

Micro PDF417 Barcode

PDF 417

PDF_417

PDF 417 Barcode

UK Postal/RM4SCC

POST_UK

UK Postal Barcode

QR Code

QR_CODE

QR-Code Barcode

QR Code Inverse

QR_INVERSE

RSS 14

RSS_14

RSS 14 Barcode

RSS Expanded

RSS_EXPANDED

RSS Expanded Barcode

Trioptic

TRIOPTIC

Trioptic Barcode

UPC A / Identcode

UPC_A

UPC A Barcode

UPC E

UPC_E

UPC E Barcode

UPC EAN Extension

UPC_EAN_EXTENSION

UPU FICS Postal

UPU_FICS

USPS 4CB/One Code

USPS_4CB

USPS 4CB Barcode

US Planet

US_PLANET

US Planet Barcode

US Postnet

US_POSTNET

US Postnet Barcode

Maxicode

MAXICODE

Plugin configuration and result

Plugin configuration

  • Find the PluginConfig parameters here.

Plugin result

  • Find the PluginResult parameters here.