Code 39 Extended
- 3 minutes to read
Short Description
It is possible, using the Code 39‘s “Full ASCII Mode” to encode all 128 ASCII characters. This is accomplished by using the ($), (/), (%), and (+) symbols as “shift” characters. These characters combined with the single character that follows indicate which Full ASCII character is to be used.
Bar Code Properties
The type of a bar code control’s Symbology property is Code39ExtendedGenerator.
The following properties are specific to the Code 39 Extended type.
BarCodeGeneratorBase.CalcCheckSum
Gets or sets whether to calculate a checksum for the bar code.
Code39Generator.WideNarrowRatio
Gets or sets the density of a bar code’s bars.
Important Note
The Code 39 Extended bar code, as opposed to Code 39, automatically replaces all necessary characters with special symbols, when required. This means that you do not need to do this manually, otherwise, the result will be incorrect.
For example, if you want to insert a “TAB” character into a bar code’s text, use “\t”, which will be replaced by “$I” for coding, and then into “TAB” after scanning:
Property | Value |
---|---|
XRBarCode.Text: | “12345\t678” |
Coded text: | “12345$I678” |
Scanned text: | “12345[TAB]678” |
The checksum is not considered to be part of a bar code’s text and checksum characters are never replaced. When the XRBarCode.ShowText and BarCodeGeneratorBase.CalcCheckSum properties are enabled, the bar code will not display a checksum character. This is required to avoid mistakenly treating a checksum as part of bar code text.
Examples
The following code creates a Code 39 Extended bar code and specifies its main properties.
Note
A complete sample project is available at https://github.com/DevExpress-Examples/how-to-add-a-bar-code-to-a-report-e167.
using System;
using System.Collections.Generic;
using System.Drawing.Printing;
using System.Windows.Forms;
using DevExpress.XtraPrinting.BarCode;
using DevExpress.XtraReports.UI;
// ...
public XRBarCode CreateCode39ExBarCode(string BarCodeText) {
// Create a bar code control.
XRBarCode barCode = new XRBarCode();
// Set the bar code's type to Code 39 Extended.
barCode.Symbology = new Code39ExtendedGenerator();
// Adjust the bar code's main properties.
barCode.Text = BarCodeText;
barCode.Width = 400;
barCode.Height = 100;
// Adjust the properties specific to the bar code type.
((Code39ExtendedGenerator)barCode.Symbology).CalcCheckSum = false;
((Code39ExtendedGenerator)barCode.Symbology).WideNarrowRatio = 2.5F;
return barCode;
}
To add the XRBarCode to a report band, handle the report’s XRControl.BeforePrint event.