The component is used to create the RSS Expanded barcode symbols, including RSS Expanded (Standard) and RSS Expanded Stacked. It's defined in the pRssExpanded unit.
RSS Expanded is a variable length linear symbology capable of encoding up to 74 numeric or 41 alphabetic characters of AI element string data internally represented as a binary number. RSS Expanded can be used to encode primary and supplementary data intended for use in retail point-of-sale and other applications where the scanners and application software have been appropriately programmed.
RSS Expanded can be scanned and decoded in up to 22 segments and then reconstructed. This facilitates omnidirectional scanning.
There are two styles (versions) of RSS Expanded symbols, as described in following list:
You can use the Style property to specify which style will be used. It can be one of values rsStandard and rsStacked, corresponding to the Standard and Stacked styls. They are defined in the pRss14Expanded unit.
In both RSS Expanded (Standard) and RSS Expandedn Stacked symbols, the barcode text will be encoded as a symbol segments sequence, there are between 4 and 22 symbol segments (including the boundaries) in the sequence. The symbol sizes are based on the number of symbol segments, and are described in following list:
Standard: It's a variable length symbology, the symbol width is based on the number of symbol segments. The symbol height are specified by the RowHeight property, in modules.
Stacked: The symbol width is based on the number of symbol segments in each stacked row. The symbol height is based on the number of symbol stacked rows and the height of each stacked row.
You can use the RowSymbols property to specify the number of symbol segments in each row for an RSS Expanded Stacked symbol, between 2 and 20 (including the boundaries, only even values are valid), the barcode symbol will be stacked in two to eleven rows based on the total numbers of symbol segments and the number of symbol segments in each row. There are three separator patterns between the stacked rows.
Each row is minimum 34 modules high, and each separator pattern is minimum 1 module high. You can use the RowHeight property to specify the height for each row, in modules. And use the SeparatorRowHeight property to specify the height of each separator pattern, in modules.
If both the Link2D and Show2DSeparator properties are set to Ture, a contiguous separator pattern is represented and its minimum height is 1 module, the height can be specified by the SeparatorRowHeight property too.
No quiet zones is required outside the bounds of the RSS Expanded symbol. The first and last elements may appear wider than one module without affecting the symbol if the adjacent background area is the same color. So the minimum values of LeadingQuietZone, TrailingQuietZone, TopQuietZone, and BottomQuietZone properties are equal to 0.
A subset of ISO/IEC 646, consisting of the upper and lower case letters (A-Z, a-z), digits (0-9), space, and 19 selected punctuation characters (!:%&()*+,-./:;<=>?_) in addition to the special function character, FNC1.
If you want insert the FNC1, please insert the "^" character instead.
Note, in the barcode text, all Application Identifiers should be enclosed in parentheses "(" and ")", the parentheses are only for identifying Application Identifiers, and they are not encoded into the barcode symbol. If you want encode the parentheses "(" and ")" in an Application Identifier element string, please use the "{" and "}" instead.
74 numeric or 41 alphabetic characters.
Note, the RSS Expanded data capacity depends on the encodation method. The maximum is 74 digits for (01) + other AIs, the maximum is 70 digits for any AIs, and the maximum is 77 digits for (01) + (392x) + any AIs.
Any style of an RSS Expanded barcode symbol can be used together with a 4-column CC-A or a 4-column CC-B barcode symbol to create the EAN.UCC composite symbol. In this case, the RSS Expanded Stacked symbol shall contain at least four symbol characters within its top row, in other words, the value of RowSymbols property should be greater than or equal to 4.
If you use it together with a CC-A or a CC-B component that's from another components package, the Link2D property should be set to true in order to denote the RSS Expanded symbol is used as the linear component in an EAN.UCC composite symbol. In this case, the Show2DSeparator property specifies whether to represent the contiguous separator pattern between the RSS Expanded linear and the 2D components in the EAN.UCC composite symbol.
If you use it together with the TBarcode2D_CCA or TBarcode2D_CCB 2D barcode component that's in this 2D Barcode VCL Components package, it can be used as the Linear property's value of the 2D barcode component to create the EAN.UCC composite symbols. In such case, only the Barcode, Data (only for Delphi/C++ Builder 2009 or later), Style, RowSymbols, RowHeight, and SeparatorRowHeight properties are useful, and the value of RowSymbols property should be greater than or equal to 4. The value of other properties will be ignored and they will be set automatically depending on the settings of the 2D barcode component (the Link2D and Show2DSeparator properties will be set to true automatically). The number of columns of the TBarcode2D_CCA or TBarcode2D_CCB 2D barcode component will be changed to 4 automatically. In addition, the Image property should not be normally set, the Image property's value of the 2D component will be used.
See also the "How to generate the EAN.UCC composite barcode symbol".
See diagram:
(*): The Data property, OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later.