Interface ReaderOptions

Reader options for reading barcodes.

interface ReaderOptions {
    binarizer?: "LocalAverage" | "GlobalHistogram" | "FixedThreshold" | "BoolCast";
    characterSet?: "Unknown" | "ASCII" | "ISO8859_1" | "ISO8859_2" | "ISO8859_3" | "ISO8859_4" | "ISO8859_5" | "ISO8859_6" | "ISO8859_7" | "ISO8859_8" | "ISO8859_9" | "ISO8859_10" | "ISO8859_11" | "ISO8859_13" | "ISO8859_14" | "ISO8859_15" | "ISO8859_16" | "Cp437" | "Cp1250" | "Cp1251" | "Cp1252" | "Cp1256" | "Shift_JIS" | "Big5" | "GB2312" | "GB18030" | "EUC_JP" | "EUC_KR" | "UTF16BE" | "UTF8" | "UTF16LE" | "UTF32BE" | "UTF32LE" | "BINARY";
    downscaleFactor?: number;
    downscaleThreshold?: number;
    eanAddOnSymbol?: "Ignore" | "Read" | "Require";
    formats?: ReadInputBarcodeFormat[];
    isPure?: boolean;
    maxNumberOfSymbols?: number;
    minLineCount?: number;
    returnCodabarStartEnd?: boolean;
    returnErrors?: boolean;
    textMode?: "Plain" | "ECI" | "HRI" | "Hex" | "Escaped";
    tryCode39ExtendedMode?: boolean;
    tryDownscale?: boolean;
    tryHarder?: boolean;
    tryInvert?: boolean;
    tryRotate?: boolean;
    validateCode39CheckSum?: boolean;
    validateITFCheckSum?: boolean;
}

Hierarchy

  • Partial<Omit<ZXingReaderOptions, "formats" | "binarizer" | "eanAddOnSymbol" | "textMode" | "characterSet">>
    • ReaderOptions

Properties

binarizer?: "LocalAverage" | "GlobalHistogram" | "FixedThreshold" | "BoolCast"

Algorithm to use for the grayscale to binary transformation. The difference is how to get to a threshold value T which results in a bit value R = L <= T.

  • "LocalAverage"

    T = average of neighboring pixels for matrix and GlobalHistogram for linear

  • "GlobalHistogram"

    T = valley between the 2 largest peaks in the histogram (per line in linear case)

  • "FixedThreshold"

    T = 127

  • "BoolCast"

    T = 0, fastest possible

Default Value

"LocalAverage"

characterSet?: "Unknown" | "ASCII" | "ISO8859_1" | "ISO8859_2" | "ISO8859_3" | "ISO8859_4" | "ISO8859_5" | "ISO8859_6" | "ISO8859_7" | "ISO8859_8" | "ISO8859_9" | "ISO8859_10" | "ISO8859_11" | "ISO8859_13" | "ISO8859_14" | "ISO8859_15" | "ISO8859_16" | "Cp437" | "Cp1250" | "Cp1251" | "Cp1252" | "Cp1256" | "Shift_JIS" | "Big5" | "GB2312" | "GB18030" | "EUC_JP" | "EUC_KR" | "UTF16BE" | "UTF8" | "UTF16LE" | "UTF32BE" | "UTF32LE" | "BINARY"

Character set to use (when applicable). If this is set to "Unknown", auto-detecting will be used.

Default Value

"Unknown"

downscaleFactor?: number

Scale factor to use during downscaling, meaningful values are 2, 3 and 4. WARNING: this API is experimental and may change / disappear

Default Value

3

See

tryDownscale downscaleThreshold

downscaleThreshold?: number

Image size ( min(width, height) ) threshold at which to start downscaled scanning WARNING: this API is experimental and may change / disappear

Default Value

500

See

tryDownscale downscaleFactor

eanAddOnSymbol?: "Ignore" | "Read" | "Require"

Specify whether to ignore, read or require EAN-2 / 5 add-on symbols while scanning EAN / UPC codes.

  • "Ignore"

    Ignore any Add-On symbol during read / scan

  • "Read"

    Read EAN-2 / EAN-5 Add-On symbol if found

  • "Require"

    Require EAN-2 / EAN-5 Add-On symbol to be present

Default Value

"Read"

A set of ReadInputBarcodeFormats that should be searched for. An empty list [] indicates all supported formats.

Supported values in this list are: "Aztec", "Codabar", "Code128", "Code39", "Code93", "DataBar", "DataBarExpanded", "DataMatrix", "DXFilmEdge", "EAN-13", "EAN-8", "ITF", "Linear-Codes", "Matrix-Codes", "MaxiCode", "MicroQRCode", "PDF417", "QRCode", "rMQRCode", "UPC-A", "UPC-E"

Default Value

[]

isPure?: boolean

Set to true if the input contains nothing but a single perfectly aligned barcode (usually generated images).

Default Value

false

maxNumberOfSymbols?: number

The maximum number of symbols / barcodes to detect / look for in the image. The upper limit of this number is 255.

Default Value

255

minLineCount?: number

The number of scan lines in a linear barcode that have to be equal to accept the result.

Default Value

2

returnCodabarStartEnd?: boolean

If true, return the start and end chars in a Codabar barcode instead of stripping them.

Default Value

false

Deprecated

upstream

returnErrors?: boolean

If true, return the barcodes with errors as well (e.g. checksum errors).

Default Value

false

textMode?: "Plain" | "ECI" | "HRI" | "Hex" | "Escaped"

Specifies the TextMode that controls the result of ReadResult.text.

  • "Plain"

    ReadResult.bytes transcoded to unicode based on ECI info or guessed character set

  • "ECI"

    Standard content following the ECI protocol with every character set ECI segment transcoded to unicode

  • "HRI"

    Human Readable Interpretation (dependent on the ContentType)

  • "Hex"

    ReadResult.bytes transcoded to ASCII string of HEX values

  • "Escaped"

    Escape non-graphical characters in angle brackets (e.g. ASCII 29 will be transcoded to "<GS>")

Default Value

"Plain"

tryCode39ExtendedMode?: boolean

If true, the Code-39 reader will try to read extended mode.

Default Value

false

tryDownscale?: boolean

Try detecting code in downscaled images (depending on image size).

Default Value

true

See

downscaleFactor downscaleThreshold

tryHarder?: boolean

Spend more time to try to find a barcode. Optimize for accuracy, not speed.

Default Value

true

tryInvert?: boolean

Try detecting inverted (reversed reflectance) codes if the format allows for those.

Default Value

true

tryRotate?: boolean

Try detecting code in 90, 180 and 270 degree rotated images.

Default Value

true

validateCode39CheckSum?: boolean

Assume Code-39 codes employ a check digit and validate it.

Default Value

false

Deprecated

upstream

validateITFCheckSum?: boolean

Assume ITF codes employ a GS1 check digit and validate it.

Default Value

false

Deprecated

upstream