Bar Code Control

Description

Displays a bar code of a specified type.

Properties Common to Most Controls

For more information about the properties listed below, see Properties Common to Most Controls.

For more information regarding each of the property groups, see the Control Reference.

Actions

Text

Type: String

Can be configured in the Properties or Expressions panel.

Sets the text to appear in the report control.

The value of the Text property can be set in a few different ways:

  • Double-click the control to start entering text.
  • Select the control and then enter text into the Text property.
  • Drag a field from the Field List onto the report to automatically populate the Text property.

The characters entered in the Text property must be compatible with the Symbology type.

Text Format String

The Text Format String Editor provides the ability to apply formatting to data. You can select one of the pre-built formats or create your own.

The Text Format String Editor cannot format values that have been manually entered into a control.

For more information, see the help regarding the Format String Editor and Format Specifiers.

Symbology

Sets the bar code's type, including the set of allowable characters. Selecting the appropriate bar code type depends on your requirements.

You may consider using the bar code Interleaved2of5 for encoding digits and bar Code39 for encoding the full range of ASCII characters.

The options for this property include:

  • Codabar: A discrete, self-checking symbology that can encode 16 different characters, as well as 4 additional start/stop characters.
    • Start Symbol: Gets or sets the first symbol used to code the bar code's structure.
    • Stop Symbol: Gets or sets the last symbol used to code the bar code's structure.
    • Wide Narrow Ratio: Gets or sets the density of a bar code's bars.
  • Code 11: A discrete symbology that is able to encode numbers 0 to 9, the dash (-) symbol, and start/stop characters.
  • Code128: A high-density symbology that can encode alphanumeric data. The symbology includes a checksum digit for verification. The bar code can also be verified character-by-character, allowing the parity of each data byte to be verified.
    • Character Set: Gets or sets the character set type for the bar code. The character set options include:
      • CharsetA: Includes ASCII characters 00 to 95, special characters and FNC 1.
      • CharsetB: Includes ASCII characters 32 to 127, special characters, and FNC 1.
      • CharsetC: Includes ASCII digit strings and FNC 1.
      • CharsetAuto: Uses A, B and C character sets and switches between them automatically according to bar code text.
  • Code39: Can encode 43 characters.
    • Wide Narrow Ratio: Gets or sets the density of a bar code's bars.
    • Calculate a Checksum: Gets or sets whether to calculate a checksum for the bar code.
  • Code39Extended: Can encode all 128 ASCII characters. This is accomplished by using the dollar ($), forward slash (/), percent (%), and plus (+) symbols as shift characters. These characters combined with the single character that follows indicate which Full ASCII character is to be used.

    The Code39Extended option automatically replaces all necessary characters with special symbols when required. You do not need to manually encode special characters, otherwise the result will be incorrect.

    • Wide Narrow Ratio: Gets or sets the density of a bar code's bars.
    • Calculate a Checksum: Gets or sets whether to calculate a checksum for the bar code.
  • Code93: Can represent the full ASCII character set by using combinations of 2 characters. Uses a continuous symbology and produces denser code than Code39. It also encodes 47 characters.
    • Calculate a Checksum: Gets or sets whether to calculate a checksum for the bar code.

    A checksum of a Code93 can contain characters that are not supported by this bar code symbology. For this reason, the checksum is not included in the Code93 text.

  • Code93Extended: Can encode all 128 ASCII characters. This is accomplished by using the dollar ($), forward slash (/), percent (%), and plus (+) symbols as shift characters. These characters combined with the single character that follows indicate which Full ASCII character is to be used.
    • Calculate a Checksum: Gets or sets whether to calculate a checksum for the bar code.

    A checksum of a Code93 can contain characters that are not supported by this bar code symbology. For this reason, the checksum is not included in the Code93 text.

  • CodeMSI: A continuous, non-self-checking symbology. A MSI bar code can be of any length.
    • MSI Checksum: Sets the checksum type for the bar code. This defines the appearance of checksum bars added to the bar code. Options for this property include:
      • None: The checksum is not calculated.
      • Modulo10: The checksum is calculated with respect to base 10.
      • DoubleModulo10: The checksum is calculated with respect to base 10 twice.
  • DataBar: Generates a GS1 bar code. Can encode up to 14 digits.
    • FNC1 Substitute: Specifies the symbol, or set of symbols in the bar code text that will be replaced with the FNC1 functional character when the bar code's bars are drawn.
    • Type: Sets the type of GS1 DataBar bar code. Options include:
      • Omnidirectional
      • Truncated
      • Stacked
      • Stacked Omnidirectional
      • Limited
      • Expanded
      • Expanded Stacked
    • Segments In Row: Sets the number of data segments per row in the Expanded Stacked type.
  • DataMatrix (ECC200): Matrix bar code consisting of black and white cells arranged in a rectangular pattern. Can encode text or raw data.
    • Auto Module: Sets whether the Module property value should be calculated automatically based up on the barcode's size.
    • Compaction Mode: Sets whether textual information or a byte array should be used as the bar code's data, as well as its encoding.
    • Matrix Size: Sets the bar code matrix size.
  • DataMatrixGS1: Uses a special start combination to differentiate the GS1 DataMatrix symbol from other Data Matrix ECC 200 symbols. This is achieved by using the FNC1 in the first position of the encoded data.
    • Auto Module: Sets whether the Module property value should be calculated automatically based up on the barcode's size.
    • FNC1 Substitute: Specifies the symbol, or set of symbols in the bar code text that will be replaced with the FNC1 functional character when the bar code's bars are drawn.
    • Human Readable Text: Specifies whether parentheses should be included in the bar code's text.
  • EAN128: Encodes data as well as what that data represents.
    • Character Set: Gets or sets the character set type for the bar code. The character set options include:
      • CharsetA: Includes ASCII characters 00 to 95, special characters and FNC 1.
      • CharsetB: Includes ASCII characters 32 to 127, special characters, and FNC 1.
      • CharsetC: Includes ASCII digit strings and FNC 1.
      • CharsetAuto: Uses A, B and C character sets and switches between them automatically according to bar code text.
    • FNC1 Substitute: Specifies the symbol, or set of symbols in the bar code text that will be replaced with the FNC1 functional character when the bar code's bars are drawn.
    • Human Readable Text: Specifies whether parentheses should be included in the bar code's text. 
  • EAN13: Contains 13 digits, no letters or other characters. The first two or three digits represent the country. The leading zero signifies the USA, and UPC-A coding. The last digit is the checksum. The checksum is calculated using the first 12 figures when the bar code is constructed.
  • EAN8: The EAN equivalent of UPC-E in that it provides a short bar code for small packages.
  • Industrial20f5: low density, numerical bar code.
    • Calculate a Checksum: Gets or sets whether to calculate a checksum for the bar code.
    • Wide Narrow Ratio: Gets or sets the density of a bar code's bars.
  • IntelligentMail: a 65-bar code for use on mail, such as postcards and letters, in the United States.
    • Auto Module: Sets whether the Module property value should be calculated automatically based up on the barcode's size.
  • IntelligentMailPackage: Used for mail packages. Capable of encoding package tracking information that is required for more efficient sorting and delivering of packages with the capability of piece-level tracking.
    • FNC1 Substitute: Specifies the symbol, or set of symbols in the bar code text that will be replaced with the FNC1 functional character when the bar code's bars are drawn.
  • Interleaved2of5: Higher-density numberical bar code based upon the Standard 2 of 5 symbology. This bar code is used primarily in the distribution and warehouse industry.
    • Calculate a Checksum: Gets or sets whether to calculate a checksum for the bar code.
    • Wide Narrow Ratio: Gets or sets the density of a bar code's bars.
  • ITF14: Marks packaging materials that contain products labeled with a UPC or EAN product identification number. Provides a GS1 implementation of an Interleaved 2 of 5 bar code for encoding a Global Trade Item Number. This bar code always uses a total of 14 digits.
    • Calculate a Checksum: Gets or sets whether to calculate a checksum for the bar code.
    • Wide Narrow Ratio: Gets or sets the density of a bar code's bars.
  • Matrix2of5: linear one-dimensional bar code that is self-checking and numerical-only.
    • Calculate a Checksum: Gets or sets whether to calculate a checksum for the bar code.
    • Wide Narrow Ratio: Gets or sets the density of a bar code's bars.
  • PDF417: Stacked linear two-dimensional bar code. Consists of 3 to 90 rows, each of which is like a small linear bar code.
    • Auto Module: Sets whether the Module property value should be calculated automatically based up on the barcode's size.
    • Columns: Sets the number of bar code columns, which allows control of the logic width of the bar code.
    • Compaction Mode: Sets whether textual information or a byte array should be used as the bar code's data.
    • Error Correction Level: Sets the amount of redundancy built into the bar code's coding to compensate for calculation errors.
    • Rows: Sets the number of rows, which controls the logic height of the bar code.
    • Truncate Symbol: Sets whether the special end-symbol should be appended to the bar code.
    • Y to X Ratio: Sets the height-to-width ratio of a logical unit's graphic representation.
  • PostNet: Encodes data in the height of the bars.
  • QR Code: Two-dimensional code, readable by QR scanners, and smartphones. Can encode textual, numeric and binary data.
    • Auto Module: Sets whether the Module property value should be calculated automatically based up on the barcode's size.
    • Compaction Mode: Sets whether textual information or a byte array should be used as the bar code's data.
    • Error Correction Level: Sets the amount of redundancy built into the bar code's coding to compensate for calculation errors.
    • Version: Sets the bar code's size
    • Logo: Specifies the image that overlays the QR code.
  • UPCA: Contains 12 digits, no letters or other characters. The first digit is the prefix signifying the product type. The last digit is the checksum. The check digit is calculated using the first 11 figures when the bar code is constructed.
  • UPCE0: A variant of UPC-A, which allows for a more compact bar code by eliminating extra zeros. The resulting bar code is about half the size of a UPC-A bar code. The UPCE0 variation sets the first digit to zero to signify the number system.
  • UPCE1: A variant of UPC-A, which allows for a more compact bar code by eliminating extra zeros. The resulting bar code is about half the size of a UPC-A bar code. The UPCE1 variation sets the first digit to 1.
  • UPCSupplemental2: 2-digit supplemental bar codes which represent the issue number of a magazine.
  • UPCSupplemental5: 5-digit supplemental bar codes used to indicate suggested retail price for books.

Module

Type: Single

Sets the width of the narrowest bar or space in the bar code. Measured in report units.

Auto Module

Type: Boolean

Sets whether the Module property should be calculated automatically based on the bar code's size. Use this property to better control the Module property value when resizing a bar code.

If the Auto Module property is set to true and the width of a bar code is too small to correctly display all its bars according to the currently selected Symbology, a bar code output may become unreadable by a scanner.

Orientation

Specifies by what angle a bar code is rotated.

The options for this property include:

  • Normal: A bar code is displayed in its normal orientation
  • Upside Down: A bar code is rotated 180 degrees.
  • Rotate Left: A bar code is rotated 90 degrees counter clockwise.
  • Rotate Right: a bar code is rotated 90 degrees clockwise.

Show Text

Type: Boolean

Indicates whether the bar code displays the text configured in the Text property.

Appearance

Text Alignment

Can be configured in the Properties or Expressions panel.

Sets the alignment of the barcode image.

Behavior

Anchor Vertically

Sets the location of the control in relation to the parent container. When the parent container changes size, the control may move or resize to maintain its position.

The options for vertically anchoring include:

  • None: The control's size and location are not affected when the container size changes.
  • Top: The distance between the top of the control and the top of the container remains fixed when the container size changes.
  • Bottom: The distance between the bottom of the control and the bottom of the container remains fixed when the container size changes.
  • Both: The distance from the top and bottom of the control from the top and bottom of the container remains fixed when the container size changes. This means that control is resized to maintain these fixed distances.

If this property is enabled along with Can Shrink, the number of cells corresponds to the number of characters in the control's text. Otherwise, the number of cells corresponds to the specified cell size and control size.

Anchor Horizontally

Sets the location of the control in relation to the parent container. When the parent container changes size, the control may move or resize to maintain its position.

The options for horizontally anchoring include:

  • None: When the parent container changes size, the control's size and location are not affected when the container size changes.
  • Left: The distance between the left edge of the control and the left side of the container remains fixed when the container size changes.
  • Right: The distance between the right edge of the control and the right side of the container remains fixed when the container size changes.
  • Both: The distance from the left and right edges of the control from the left and right sides of the container remains fixed when the container size changes. This means that control is resized to maintain these fixed distances.

Auto Module

Type: Boolean

Sets whether the Module property should be calculated automatically based on the bar code's size. Use this property to better control the Module property value when resizing a bar code.

If the Auto Module property is set to true and the width of a bar code is too small to correctly display all its bars according to the currently selected Symbology, a bar code output may be come unreadable by a scanner.

Orientation

Specifies by what angle a bar code is rotated.

The options for this property include:

  • Normal: A bar code is displayed in its normal orientation
  • Upside Down: A bar code is rotated 180 degrees.
  • Rotate Left: A bar code is rotated 90 degrees counter clockwise.
  • Rotate Right: a bar code is rotated 90 degrees clockwise.

Module

Type: Single

Sets the width of the narrowest bar or space in the bar code. Measured in report units.

Process Duplicates Mode

Sets how report controls with duplicate records should be processed. The data type that is processed must be set in the Process Duplicates Target property.

Methods for processing duplicate data include:

  • Leave: The duplicate control is always printed.
  • Merge: The identical data values are merged into a single column.
  • Suppress: A blank space is printed in place of the duplicate data.
  • Suppress and Shrink: The control that contains duplicate data is not printed.
  • This setting has no effect on intersecting controls or in vertical bands.

If there are no controls in a band after duplicates are removed, VertiGIS Studio Reporting does not print the band.

Process Duplicates Target

Sets what data is processed by the Process Duplicates Mode property.

Options include:

  • Value: The value of the control.
  • Tag: The data in the control's Tag property.

The Text property of the Bar Code control populates the Value.

Process Null Values

Specifies how a report item containing a null value should be processed.

Methods of processing the null values include:

  • Leave: The report item is always printed.
  • Suppress: A blank space is printed in place of the null data.
  • Suppress and Shrink: The report item that contains null data is not printed.
  • This setting has no effect on intersecting controls or in vertical bands.

If there are no controls in a band after duplicates are removed, VertiGIS Studio Reporting does not print the band.

Data

Text

Type: String

Can be configured in the Properties or Expressions panel.

Sets the text to appear in the report control.

The value of the Text property can be set in a few different ways:

  • Double-click the control to start entering text.
  • Select the control and then enter text into the Text property.
  • Drag a field from the Field List onto the report to automatically populate the Text property.

Text Format String

The Text Format String Editor provides the ability to apply formatting to data. You can select one of the pre-built formats or create your own.

The Text Format String Editor cannot format values that have been manually entered into a control.

For more information, see the help regarding the Format String Editor and Format Specifiers.

Related Tutorials

Refer to the following resources for additional help on implementing this control: