Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Scanner

A low-level scanner interacting with the external Scandit Engine library. Used to set up scan / image settings and to process single image frames.

The loading of the external Scandit Engine library which takes place on creation can take some time, the on method targeting the ready event can be used to set up a listener function to be called when the library is loaded and the isReady method can return the current status. The scanner will be ready to start scanning when the library is fully loaded.

In the special case where a single Scanner instance is shared between multiple active BarcodePicker instances, the fairness in resource allocation for processing images between the different pickers is not guaranteed.

Hierarchy

  • Scanner

Index

Constructors

constructor

  • new Scanner(__namedParameters?: object): Scanner
  • Create a Scanner instance.

    It is required to having configured the library via configure before this object can be created.

    Before processing an image the relative settings must also have been set.

    If the library has not been correctly configured yet a LibraryNotConfiguredError error is thrown.

    If a browser is incompatible a UnsupportedBrowserError error is thrown.

    Parameters

    • Default value __namedParameters: object = {}
      • imageSettings: undefined | ImageSettings
        Default = undefined
        The configuration object to define the properties of an image to be scanned.
      • scanSettings: ScanSettings
        Default = new ScanSettings()
        The configuration object for scanning options.

    Returns Scanner

Events

Static ready

  • ready(): void
  • Fired when the external Scandit Engine library has been loaded and the scanner can thus start to scan barcodes.

    asmemberof

    Scanner

    Returns void

Methods

addListener

  • addListener(eventName: EventName, listener: ListenerFn): Scanner
  • See the on method.

    Parameters

    • eventName: EventName

      The name of the event to listen to.

    • listener: ListenerFn

      The listener function.

    Returns Scanner

    The updated Scanner object.

applyImageSettings

  • Apply a new set of image settings to the scanner (replacing old settings).

    Parameters

    • imageSettings: ImageSettings

      The image configuration object to be applied to the scanner.

    Returns Scanner

    The updated Scanner object.

applyScanSettings

  • Apply a new set of scan settings to the scanner (replacing old settings).

    Parameters

    • scanSettings: ScanSettings

      The scan configuration object to be applied to the scanner.

    Returns Scanner

    The updated Scanner object.

clearSession

  • Clear the scanner session.

    This removes all recognized barcodes from the scanner session and allows them to be scanned again in case a custom codeDuplicateFilter was set in the ScanSettings.

    Returns Scanner

    The updated Scanner object.

createParserForFormat

  • Create a new parser object.

    Parameters

    • dataFormat: DataFormat

      The format of the input data for the parser.

    Returns Parser

    The newly created parser.

destroy

  • destroy(): void
  • Stop the internal WebWorker and destroy the scanner itself; ensuring complete cleanup.

    This method should be called after you don't plan to use the scanner anymore, before the object is automatically cleaned up by JavaScript. The barcode picker must not be used in any way after this call.

    Returns void

getImageSettings

  • Return the current image settings.

    Returns ImageSettings | undefined

    The current image settings.

getScanSettings

  • Return the current scan settings.

    Returns ScanSettings

    The current scan settings.

isBusyProcessing

  • isBusyProcessing(): boolean
  • Returns boolean

    Whether the scanner is currently busy processing an image.

isReady

  • isReady(): boolean
  • Returns boolean

    Whether the scanner has loaded the external Scandit Engine library and is ready to scan.

on

  • on(eventName: EventName, listener: ListenerFn): Scanner
  • on(eventName: "ready", listener: function): Scanner
  • Add the listener function to the listeners array for an event.

    No checks are made to see if the listener has already been added. Multiple calls passing the same listener will result in the listener being added, and called, multiple times.

    Parameters

    • eventName: EventName

      The name of the event to listen to.

    • listener: ListenerFn

      The listener function.

    Returns Scanner

    The updated Scanner object.

  • Add the listener function to the listeners array for the ready event, fired only once when the external Scandit Engine library has been loaded and the scanner can thus start to scan barcodes. If the external Scandit Engine library has already been loaded the listener is called immediately.

    No checks are made to see if the listener has already been added. Multiple calls passing the same listener will result in the listener being added, and called, multiple times.

    Parameters

    • eventName: "ready"

      The name of the event to listen to.

    • listener: function

      The listener function.

        • (): void
        • Returns void

    Returns Scanner

    The updated Scanner object.

onReady

  • onReady(listener: function): Scanner
  • Add the listener function to the listeners array for the ready event, fired only once when the external Scandit Engine library has been loaded and the scanner can thus start to scan barcodes. If the external Scandit Engine library has already been loaded the listener is called immediately.

    No checks are made to see if the listener has already been added. Multiple calls passing the same listener will result in the listener being added, and called, multiple times.

    deprecated

    Use the on method instead.

    Parameters

    • listener: function

      The listener function.

        • (): void
        • Returns void

    Returns Scanner

    The updated Scanner object.

processImage

  • processImage(imageData: Uint8ClampedArray | HTMLImageElement, highQualitySingleFrameMode?: boolean): Promise<ScanResult>
  • Process a given image using the previously set scanner and image settings, recognizing codes and retrieving the result as a list of barcodes (if any).

    Multiple requests done without waiting for previous results will be queued and handled in order.

    If highQualitySingleFrameMode is enabled the image will be processed with really accurate internal settings, resulting in much slower but more precise scanning results. This should be used only for single images not part of a continuous video stream.

    Passing image data as a Uint8ClampedArray is the fastest option, passing a HTMLImageElement will incur in additional operations.

    Depending on the current image settings, given imageData and scanning execution, any of the following errors could be the rejected result of the returned promise:

    • NoImageSettings
    • ImageSettingsDataMismatch
    • ScanditEngineError

    Parameters

    • imageData: Uint8ClampedArray | HTMLImageElement

      The image data given as a byte array, complying with the previously set image settings.

    • Default value highQualitySingleFrameMode: boolean = false

      Whether to process the image as a high quality single frame.

    Returns Promise<ScanResult>

    A promise resolving to the ScanResult object.

Generated using TypeDoc