Symbology Settings in WPF Barcode (SfBarcode)

4 May 20214 minutes to read

Each Barcode symbol can be associated with optional settings that may affect that specific bar code. The code sample below shows the settings of a code39 Barcode.

  • HTML
  • <sync:SfBarcode.SymbologySettings>
             <sync:Code39Setting BarHeight="45" EnableCheckDigit="False" EncodeStartStopSymbols="True" NarrowBarWidth="1" ShowCheckDigit="False"/>

    1D Barcode settings

    The one dimensional barcodes have some of the settings in common, such as BarHeight which modifies the height of the bars and NarrowBarWidth which modifies the width ratio of the wide and narrow bars.

  • HTML
  • <sync:SfBarcode.SymbologySettings>
             <sync:Code39Setting BarHeight="45" NarrowBarWidth="1"/>

    The one dimensional barcodes also has the error detection settings. The EnableCheckDigit property enables the redundancy check using a check digit, the decimal equivalent of a binary parity bit. It consists of a single digit computed from the other digits in the message. The check digit can be shown in the barcode or kept hidden by using the ShowCheckDigit property.

    The EncodeStartStopSymbols property adds Start and Stop symbols to signal a bar code reader that a bar code has been scanned.

  • HTML
  • <sync:SfBarcode.SymbologySettings>
             <sync:Code39Setting EnableCheckDigit="False" EncodeStartStopSymbols="True" ShowCheckDigit="False"/>

    2D Barcode Settings

    The two dimensional barcodes have a common XDimension property which modifies the block size of a two dimensional barcode.

    DataMatrix Barcode settings

    The DataMatrix barcode settings has the properties to modify the encoding and size of the DataMatrix barcode.

  • HTML
  • <sync:SfBarcode.SymbologySettings>
             <sync:DataMatrixSetting XDimension="8" Encoding="ASCIINumeric” Size="Size104x104" />


    The encoding of the DataMatrix barcode can be modified using the ‘Encoding’ property. The DataMatrixEncoding enumeration has the following four encoding schemes.

    • ASCII
    • ASCIINumeric
    • Auto
    • Base256


    The DataMatrix Barcode settings allow the user to specify the size of the barcode from a set of predefined sizes available in the DataMatrixSize enumeration.

    Data Matrix size Table

    Data Matrix Size Description
    Auto Size is chosen based on the input data
    Size10x10 Square matrix with 10 rows and 10 columns.
    Size12x12 Square matrix with 12 rows and 12 columns.
    Size14x14 Square matrix with 14 rows and 14 columns.
    Size16x16 Square matrix with 16 rows and 16 columns.
    Size18x18 Square matrix with 18 rows and 18 columns.
    Size20x20 Square matrix with 20 rows and 20 columns.
    Size22x22 Square matrix with 22 rows and 22 columns.
    Size24x24 Square matrix with 24 rows and 24 columns.
    Size26x26 Square matrix with 26 rows and 26 columns.
    Size32x32 Square matrix with 32 rows and 32 columns.
    Size36x36 Square matrix with 36 rows and 36 columns.
    Size40x40 Square matrix with 40 rows and 40 columns.
    Size44x44 Square matrix with 44 rows and 44 columns.
    Size48x48 Square matrix with 48 rows and 48 columns.
    Size52x52 Square matrix with 52 rows and 52 columns.
    Size64x64 Square matrix with 64 rows and 64 columns.
    Size72x72 Square matrix with 72 rows and 72 columns.
    Size80x80 Square matrix with 80 rows and 80 columns.
    Size88x88 Square matrix with 88 rows and 88 columns.
    Size96x96 Square matrix with 96 rows and 96 columns.
    Size104x104 Square matrix with 104 rows and 104 columns.
    Size120x120 Square matrix with 120 rows and 120 columns.
    Size132x132 Square matrix with 132 rows and 132 columns.
    Size144x144 Square matrix with 144 rows and 144 columns.
    Size8x18 Rectangular matrix with 8 rows and 18 columns.
    Size8x32 Rectangular matrix with 8 rows and 32 columns.
    Size12x26 Rectangular matrix with 12 rows and 26 columns.
    Size12x36 Rectangular matrix with 12 rows and 36 columns.
    Size16x36 Rectangular matrix with 16 rows and 36 columns.
    Size16x48 Rectangular matrix with 16 rows and 48 columns.

    QRBarcode settings

    The QRBarcode settings has properties to modify the version, error correction level and Input mode of the QRBarcode.

  • HTML
  • <sync:SfBarcode.SymbologySettings>
        <sync:QRBarcodeSetting XDimension="8" ErrorCorrectionLevel="High” InputMode="BinaryMode  Version="Auto" />


    The QR Barcode uses version from 1 to 40.Version 1 measures 21 modules x 21 modules, Version 2 measures 25 modules x 25 modules and so on increasing in steps of 4 modules per side up to Version 40 which measures 177 modules x 177 modules. Each version has its own capacity. By default the QR Version is Auto, which will automatically set the version according to the input text length.

    Error correction level

    The QR Barcode employs error correction to generate a series of error correction codewords which are added to the data code word sequence in order to enable the symbol to withstand damage without loss of data. There are four user–selectable levels of error correction, as shown in the table, offering the capability of recovery from the following amounts of damage. By default the Error correction level is Low.

    Error Correction Level Table

    Error Correction Level Recovery Capacity % (approx.)
    L 7
    M 15
    Q 25
    H 30

    Input mode

    There are three modes for the input as defined in the table. Each mode supports the specific set of Input characters. User may select the most suitable input mode. By default the Input mode is Binary Mode.

    Input Mode Table

    Input Mode Possible characters
    Numeric Mode 0,1,2,3,4,5,6,7,8,9
    Alphanumeric Mode 0–9, A–Z (upper-case only), space, $, %, *, +, -,., /, :
    Binary Mode Shift JIS characters