API for barcode scanning.

Required licence feature(s): BarcodeScanner.

Methods

  • Clear the cache of the barcode frame accumulator.@returns

    Returns Promise<void>

  • Frees up any resources associated with this object. No other methods may be called on this object after destroy has been called.

    Returns Promise<void>

  • Parameters

    • workerBridge: WorkerBridge
    • Optional configuration: {
          accumulationConfig?: { accumulationTime?: number; removeUnconnectedResults?: boolean; method?: BarcodeAccumulationMethod; };
          barcodeFormatConfigurations?: ({
              addAdditionalQuietZone?: boolean;
              enableOneDBlurScanner?: boolean;
              maximumTextLength?: number;
              minimum1DConfirmationCount?: number;
              minimum1DQuietZoneSize?: number;
              minimumSizeScore?: number;
              minimumTextLength?: number;
              regexFilter?: string;
              returnStartEnd?: boolean;
          } & {
              _type: "BarcodeFormatCodabarConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              checksum?: boolean;
              maximumTextLength?: number;
              minimum1DConfirmationCount?: number;
              minimum1DQuietZoneSize?: number;
              minimumSizeScore?: number;
              minimumTextLength?: number;
              regexFilter?: string;
              stripCheckDigits?: boolean;
          } & {
              _type: "BarcodeFormatCode11Configuration";
          } | {
              addAdditionalQuietZone?: boolean;
              code32?: boolean;
              code39?: boolean;
              enableOneDBlurScanner?: boolean;
              maximumTextLength?: number;
              minimum1DConfirmationCount?: number;
              minimum1DQuietZoneSize?: number;
              minimumSizeScore?: number;
              minimumTextLength?: number;
              pzn7?: boolean;
              pzn8?: boolean;
              regexFilter?: string;
              stripCheckDigits?: boolean;
              tryCode39ExtendedMode?: boolean;
              useCode39CheckDigit?: boolean;
          } & {
              _type: "BarcodeFormatCode39Configuration";
          } | {
              addAdditionalQuietZone?: boolean;
              enableOneDBlurScanner?: boolean;
              maximumTextLength?: number;
              minimum1DConfirmationCount?: number;
              minimum1DQuietZoneSize?: number;
              minimumSizeScore?: number;
              minimumTextLength?: number;
              regexFilter?: string;
              stripCheckDigits?: boolean;
          } & {
              _type: "BarcodeFormatCode93Configuration";
          } | {
              addAdditionalQuietZone?: boolean;
              enableOneDBlurScanner?: boolean;
              gs1Handling?: Gs1Handling;
              maximumTextLength?: number;
              minimum1DConfirmationCount?: number;
              minimum1DQuietZoneSize?: number;
              minimumSizeScore?: number;
              minimumTextLength?: number;
              regexFilter?: string;
          } & {
              _type: "BarcodeFormatCode128Configuration";
          } | {
              addAdditionalQuietZone?: boolean;
              code25?: boolean;
              iata2of5?: boolean;
              industrial2of5?: boolean;
              maximumTextLength?: number;
              minimum1DConfirmationCount?: number;
              minimum1DQuietZoneSize?: number;
              minimumSizeScore?: number;
              minimumTextLength?: number;
              regexFilter?: string;
              stripCheckDigits?: boolean;
              useIATA2OF5Checksum?: boolean;
          } & {
              _type: "BarcodeFormatCode2Of5Configuration";
          } | {
              addAdditionalQuietZone?: boolean;
              gs1Handling?: Gs1Handling;
              minimum1DConfirmationCount?: number;
              minimum1DQuietZoneSize?: number;
              minimumSizeScore?: number;
              regexFilter?: string;
          } & {
              _type: "BarcodeFormatDataBarConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              gs1Handling?: Gs1Handling;
              minimum1DConfirmationCount?: number;
              minimum1DQuietZoneSize?: number;
              minimumSizeScore?: number;
              regexFilter?: string;
          } & {
              _type: "BarcodeFormatDataBarExpandedConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              gs1Handling?: Gs1Handling;
              minimum1DConfirmationCount?: number;
              minimum1DQuietZoneSize?: number;
              minimumSizeScore?: number;
              regexFilter?: string;
          } & {
              _type: "BarcodeFormatDataBarLimitedConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              enableOneDBlurScanner?: boolean;
              maximumTextLength?: number;
              minimum1DConfirmationCount?: number;
              minimum1DQuietZoneSize?: number;
              minimumSizeScore?: number;
              minimumTextLength?: number;
              regexFilter?: string;
          } & {
              _type: "BarcodeFormatITFConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              checksumAlgorithms?: MsiPlesseyChecksumAlgorithm[];
              enableOneDBlurScanner?: boolean;
              maximumTextLength?: number;
              minimum1DConfirmationCount?: number;
              minimum1DQuietZoneSize?: number;
              minimumSizeScore?: number;
              minimumTextLength?: number;
              regexFilter?: string;
              stripCheckDigits?: boolean;
          } & {
              _type: "BarcodeFormatMSIPlesseyConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              ean13?: boolean;
              ean8?: boolean;
              enableOneDBlurScanner?: boolean;
              extensions?: UpcEanExtensionBehavior;
              minimum1DConfirmationCount?: number;
              minimum1DQuietZoneSize?: number;
              minimumSizeScore?: number;
              minimumStandaloneConfirmationCount?: number;
              regexFilter?: string;
              stripCheckDigits?: boolean;
              upca?: boolean;
              upce?: boolean;
          } & {
              _type: "BarcodeFormatUpcEanConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              allowNarrowBarsOnly?: boolean;
              allowWideBarsOnly?: boolean;
              minimum1DConfirmationCount?: number;
              minimum1DQuietZoneSize?: number;
              minimumSizeScore?: number;
              minimumValue?: number;
              regexFilter?: string;
          } & {
              _type: "BarcodeFormatPharmaCodeConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              gs1Handling?: Gs1Handling;
              minimumSizeScore?: number;
              regexFilter?: string;
          } & {
              _type: "BarcodeFormatAztecConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              gs1Handling?: Gs1Handling;
              microQr?: boolean;
              minimumSizeScore?: number;
              qr?: boolean;
              regexFilter?: string;
              rmqr?: boolean;
              strictMode?: boolean;
          } & {
              _type: "BarcodeFormatQRCodeConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              gs1Handling?: Gs1Handling;
              minimumSizeScore?: number;
              regexFilter?: string;
              strictMode?: boolean;
          } & {
              _type: "BarcodeFormatPDF417Configuration";
          } | {
              addAdditionalQuietZone?: boolean;
              gs1Handling?: Gs1Handling;
              minimumSizeScore?: number;
              regexFilter?: string;
              strictMode?: boolean;
          } & {
              _type: "BarcodeFormatMicroPDF417Configuration";
          } | {
              addAdditionalQuietZone?: boolean;
              gs1Handling?: Gs1Handling;
              minimumSizeScore?: number;
              regexFilter?: string;
          } & {
              _type: "BarcodeFormatDataMatrixConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              minimumSizeScore?: number;
              regexFilter?: string;
          } & {
              _type: "BarcodeFormatMaxiCodeConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              australiaPostCustomerFormat?: AustraliaPostCustomerFormat;
              minimumSizeScore?: number;
              regexFilter?: string;
          } & {
              _type: "BarcodeFormatAustraliaPostConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              minimumSizeScore?: number;
              regexFilter?: string;
          } & {
              _type: "BarcodeFormatJapanPostConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              minimumSizeScore?: number;
              regexFilter?: string;
              stripCheckDigits?: boolean;
          } & {
              _type: "BarcodeFormatRoyalMailConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              minimumSizeScore?: number;
              regexFilter?: string;
          } & {
              _type: "BarcodeFormatRoyalTNTPostConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              minimumSizeScore?: number;
              regexFilter?: string;
          } & {
              _type: "BarcodeFormatUSPSIntelligentMailConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              minimumSizeScore?: number;
              minimumValue?: number;
              regexFilter?: string;
          } & {
              _type: "BarcodeFormatPharmaCodeTwoTrackConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              gs1Handling?: Gs1Handling;
              minimum1DQuietZoneSize?: number;
              minimumSizeScore?: number;
              regexFilter?: string;
              strictMode?: boolean;
          } & {
              _type: "BarcodeFormatGS1CompositeConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              enableOneDBlurScanner?: boolean;
              formats?: BarcodeFormat[];
              gs1Handling?: Gs1Handling;
              maximumTextLength?: number;
              minimum1DConfirmationCount?: number;
              minimum1DQuietZoneSize?: number;
              minimumSizeScore?: number;
              minimumTextLength?: number;
              regexFilter?: string;
              stripCheckDigits?: boolean;
          } & {
              _type: "BarcodeFormatCommonOneDConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              formats?: BarcodeFormat[];
              gs1Handling?: Gs1Handling;
              minimumSizeScore?: number;
              regexFilter?: string;
              strictMode?: boolean;
          } & {
              _type: "BarcodeFormatCommonTwoDConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              formats?: BarcodeFormat[];
              minimumSizeScore?: number;
              regexFilter?: string;
          } & {
              _type: "BarcodeFormatCommonFourStateConfiguration";
          } | {
              addAdditionalQuietZone?: boolean;
              enableOneDBlurScanner?: boolean;
              formats?: BarcodeFormat[];
              gs1Handling?: Gs1Handling;
              maximumTextLength?: number;
              minimum1DConfirmationCount?: number;
              minimum1DQuietZoneSize?: number;
              minimumSizeScore?: number;
              minimumTextLength?: number;
              regexFilter?: string;
              strictMode?: boolean;
              stripCheckDigits?: boolean;
          } & {
              _type: "BarcodeFormatCommonConfiguration";
          })[];
          engineMode?: BarcodeScannerEngineMode;
          extractedDocumentFormats?: BarcodeDocumentFormat[];
          onlyAcceptDocuments?: boolean;
          optimizedForOverlays?: boolean;
          processingMode?: ProcessingMode;
          returnBarcodeImage?: boolean;
      }
      • Optional accumulationConfig?: { accumulationTime?: number; removeUnconnectedResults?: boolean; method?: BarcodeAccumulationMethod; }

        Configuration to accumulate barcodes across multiple frames in live mode.

        Default Value

        new BarcodeAccumulationConfiguration({});
        
      • Optional barcodeFormatConfigurations?: ({
            addAdditionalQuietZone?: boolean;
            enableOneDBlurScanner?: boolean;
            maximumTextLength?: number;
            minimum1DConfirmationCount?: number;
            minimum1DQuietZoneSize?: number;
            minimumSizeScore?: number;
            minimumTextLength?: number;
            regexFilter?: string;
            returnStartEnd?: boolean;
        } & {
            _type: "BarcodeFormatCodabarConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            checksum?: boolean;
            maximumTextLength?: number;
            minimum1DConfirmationCount?: number;
            minimum1DQuietZoneSize?: number;
            minimumSizeScore?: number;
            minimumTextLength?: number;
            regexFilter?: string;
            stripCheckDigits?: boolean;
        } & {
            _type: "BarcodeFormatCode11Configuration";
        } | {
            addAdditionalQuietZone?: boolean;
            code32?: boolean;
            code39?: boolean;
            enableOneDBlurScanner?: boolean;
            maximumTextLength?: number;
            minimum1DConfirmationCount?: number;
            minimum1DQuietZoneSize?: number;
            minimumSizeScore?: number;
            minimumTextLength?: number;
            pzn7?: boolean;
            pzn8?: boolean;
            regexFilter?: string;
            stripCheckDigits?: boolean;
            tryCode39ExtendedMode?: boolean;
            useCode39CheckDigit?: boolean;
        } & {
            _type: "BarcodeFormatCode39Configuration";
        } | {
            addAdditionalQuietZone?: boolean;
            enableOneDBlurScanner?: boolean;
            maximumTextLength?: number;
            minimum1DConfirmationCount?: number;
            minimum1DQuietZoneSize?: number;
            minimumSizeScore?: number;
            minimumTextLength?: number;
            regexFilter?: string;
            stripCheckDigits?: boolean;
        } & {
            _type: "BarcodeFormatCode93Configuration";
        } | {
            addAdditionalQuietZone?: boolean;
            enableOneDBlurScanner?: boolean;
            gs1Handling?: Gs1Handling;
            maximumTextLength?: number;
            minimum1DConfirmationCount?: number;
            minimum1DQuietZoneSize?: number;
            minimumSizeScore?: number;
            minimumTextLength?: number;
            regexFilter?: string;
        } & {
            _type: "BarcodeFormatCode128Configuration";
        } | {
            addAdditionalQuietZone?: boolean;
            code25?: boolean;
            iata2of5?: boolean;
            industrial2of5?: boolean;
            maximumTextLength?: number;
            minimum1DConfirmationCount?: number;
            minimum1DQuietZoneSize?: number;
            minimumSizeScore?: number;
            minimumTextLength?: number;
            regexFilter?: string;
            stripCheckDigits?: boolean;
            useIATA2OF5Checksum?: boolean;
        } & {
            _type: "BarcodeFormatCode2Of5Configuration";
        } | {
            addAdditionalQuietZone?: boolean;
            gs1Handling?: Gs1Handling;
            minimum1DConfirmationCount?: number;
            minimum1DQuietZoneSize?: number;
            minimumSizeScore?: number;
            regexFilter?: string;
        } & {
            _type: "BarcodeFormatDataBarConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            gs1Handling?: Gs1Handling;
            minimum1DConfirmationCount?: number;
            minimum1DQuietZoneSize?: number;
            minimumSizeScore?: number;
            regexFilter?: string;
        } & {
            _type: "BarcodeFormatDataBarExpandedConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            gs1Handling?: Gs1Handling;
            minimum1DConfirmationCount?: number;
            minimum1DQuietZoneSize?: number;
            minimumSizeScore?: number;
            regexFilter?: string;
        } & {
            _type: "BarcodeFormatDataBarLimitedConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            enableOneDBlurScanner?: boolean;
            maximumTextLength?: number;
            minimum1DConfirmationCount?: number;
            minimum1DQuietZoneSize?: number;
            minimumSizeScore?: number;
            minimumTextLength?: number;
            regexFilter?: string;
        } & {
            _type: "BarcodeFormatITFConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            checksumAlgorithms?: MsiPlesseyChecksumAlgorithm[];
            enableOneDBlurScanner?: boolean;
            maximumTextLength?: number;
            minimum1DConfirmationCount?: number;
            minimum1DQuietZoneSize?: number;
            minimumSizeScore?: number;
            minimumTextLength?: number;
            regexFilter?: string;
            stripCheckDigits?: boolean;
        } & {
            _type: "BarcodeFormatMSIPlesseyConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            ean13?: boolean;
            ean8?: boolean;
            enableOneDBlurScanner?: boolean;
            extensions?: UpcEanExtensionBehavior;
            minimum1DConfirmationCount?: number;
            minimum1DQuietZoneSize?: number;
            minimumSizeScore?: number;
            minimumStandaloneConfirmationCount?: number;
            regexFilter?: string;
            stripCheckDigits?: boolean;
            upca?: boolean;
            upce?: boolean;
        } & {
            _type: "BarcodeFormatUpcEanConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            allowNarrowBarsOnly?: boolean;
            allowWideBarsOnly?: boolean;
            minimum1DConfirmationCount?: number;
            minimum1DQuietZoneSize?: number;
            minimumSizeScore?: number;
            minimumValue?: number;
            regexFilter?: string;
        } & {
            _type: "BarcodeFormatPharmaCodeConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            gs1Handling?: Gs1Handling;
            minimumSizeScore?: number;
            regexFilter?: string;
        } & {
            _type: "BarcodeFormatAztecConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            gs1Handling?: Gs1Handling;
            microQr?: boolean;
            minimumSizeScore?: number;
            qr?: boolean;
            regexFilter?: string;
            rmqr?: boolean;
            strictMode?: boolean;
        } & {
            _type: "BarcodeFormatQRCodeConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            gs1Handling?: Gs1Handling;
            minimumSizeScore?: number;
            regexFilter?: string;
            strictMode?: boolean;
        } & {
            _type: "BarcodeFormatPDF417Configuration";
        } | {
            addAdditionalQuietZone?: boolean;
            gs1Handling?: Gs1Handling;
            minimumSizeScore?: number;
            regexFilter?: string;
            strictMode?: boolean;
        } & {
            _type: "BarcodeFormatMicroPDF417Configuration";
        } | {
            addAdditionalQuietZone?: boolean;
            gs1Handling?: Gs1Handling;
            minimumSizeScore?: number;
            regexFilter?: string;
        } & {
            _type: "BarcodeFormatDataMatrixConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            minimumSizeScore?: number;
            regexFilter?: string;
        } & {
            _type: "BarcodeFormatMaxiCodeConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            australiaPostCustomerFormat?: AustraliaPostCustomerFormat;
            minimumSizeScore?: number;
            regexFilter?: string;
        } & {
            _type: "BarcodeFormatAustraliaPostConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            minimumSizeScore?: number;
            regexFilter?: string;
        } & {
            _type: "BarcodeFormatJapanPostConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            minimumSizeScore?: number;
            regexFilter?: string;
            stripCheckDigits?: boolean;
        } & {
            _type: "BarcodeFormatRoyalMailConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            minimumSizeScore?: number;
            regexFilter?: string;
        } & {
            _type: "BarcodeFormatRoyalTNTPostConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            minimumSizeScore?: number;
            regexFilter?: string;
        } & {
            _type: "BarcodeFormatUSPSIntelligentMailConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            minimumSizeScore?: number;
            minimumValue?: number;
            regexFilter?: string;
        } & {
            _type: "BarcodeFormatPharmaCodeTwoTrackConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            gs1Handling?: Gs1Handling;
            minimum1DQuietZoneSize?: number;
            minimumSizeScore?: number;
            regexFilter?: string;
            strictMode?: boolean;
        } & {
            _type: "BarcodeFormatGS1CompositeConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            enableOneDBlurScanner?: boolean;
            formats?: BarcodeFormat[];
            gs1Handling?: Gs1Handling;
            maximumTextLength?: number;
            minimum1DConfirmationCount?: number;
            minimum1DQuietZoneSize?: number;
            minimumSizeScore?: number;
            minimumTextLength?: number;
            regexFilter?: string;
            stripCheckDigits?: boolean;
        } & {
            _type: "BarcodeFormatCommonOneDConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            formats?: BarcodeFormat[];
            gs1Handling?: Gs1Handling;
            minimumSizeScore?: number;
            regexFilter?: string;
            strictMode?: boolean;
        } & {
            _type: "BarcodeFormatCommonTwoDConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            formats?: BarcodeFormat[];
            minimumSizeScore?: number;
            regexFilter?: string;
        } & {
            _type: "BarcodeFormatCommonFourStateConfiguration";
        } | {
            addAdditionalQuietZone?: boolean;
            enableOneDBlurScanner?: boolean;
            formats?: BarcodeFormat[];
            gs1Handling?: Gs1Handling;
            maximumTextLength?: number;
            minimum1DConfirmationCount?: number;
            minimum1DQuietZoneSize?: number;
            minimumSizeScore?: number;
            minimumTextLength?: number;
            regexFilter?: string;
            strictMode?: boolean;
            stripCheckDigits?: boolean;
        } & {
            _type: "BarcodeFormatCommonConfiguration";
        })[]

        Options for barcode decoding.

        Default Value

        [new BarcodeFormatCommonConfiguration({})];
        
      • Optional engineMode?: BarcodeScannerEngineMode

        The engine mode for barcode scanning.

        Default Value

        "NEXT_GEN_LOW_POWER";
        
      • Optional extractedDocumentFormats?: BarcodeDocumentFormat[]

        List of document formats to be extracted. Barcodes that decode to one of the extracted document formats will have extractedDocument field in BarcodeItem populated with the parsed document. By default all supported barcode document formats are accepted. If empty, no barcodes will be parsed into documents. To only accept the document formats listed in extractedDocumentFormats, the property onlyAcceptDocuments must be true.

        Default Value

        ["AAMVA", "BOARDING_PASS", "DE_MEDICAL_PLAN", "MEDICAL_CERTIFICATE", "ID_CARD_PDF_417", "SEPA", "SWISS_QR", "VCARD", "GS1", "HIBC", "BRITISH_COLUMBIA_DRIVER_LICENSE"];
        
      • Optional onlyAcceptDocuments?: boolean

        If true and extractedDocumentFormats is not empty, then barcodes that don't decode to one of the extracted document formats will be ignored.

        Default Value

        false;
        
      • Optional optimizedForOverlays?: boolean

        If true, the quads of linear (1D) barcodes will be further refined to more closely match the barcode's outline in the input image. This will also produce stabler barcode outlines across frames for use cases such as AR.

        Default Value

        false;
        
      • Optional processingMode?: ProcessingMode

        Scanners typically can produce better results from a single image if they are allowed to spend a longer time analyzing it.

        On the other hand, scanners can produce even better results if they can analyze multiple images of the same subject and cross-check and combine the results. The processing mode tells the scanner whether to optimize for single or multiple images of a subject.

        Default Value

        "AUTO";
        
      • Optional returnBarcodeImage?: boolean

        If true, the barcode image will be returned in the BarcodeItem.

        Default Value

        false;
        

    Returns Promise<BarcodeScanner>

Generated using TypeDoc