A newer version of this page is available. Switch to the current version.

Intelligent Mail

  • 2 minutes to read

The Intelligent Mail barcode is a height-modulated barcode that encodes up to 31 decimal digits of mail-piece data into 65 vertical bars.


Refer to the following article for more details: Intelligent Mail barcode.

Add the Bar Code to a Report

  1. Drag the XRBarCode item from the DX.20.2: Report Controls tab and drop it onto the report.

  2. Set the XRBarCode control’s Symbology property to IntelligentMail (an object of the IntelligentMailGenerator type).

  3. Specify common barcode properties and properties specific to Intelligent Mail.

Specific Properties

Use the barcode’s XRBarCode.AutoModule/BarCodeControl.AutoModule property to get or set whether the Module property value should be calculated automatically based upon the barcode’s size.

Runtime Example

The following code creates the Intelligent Mail barcode and specifies its properties.


The complete sample project is available in the following repository: https://github.com/DevExpress-Examples/Reporting_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 CreateIntelligentMailBarCode(string BarCodeText) {
    // Create a bar code control.
    XRBarCode barCode = new XRBarCode();

    // Set the bar code's type to Intelligent Mail.
    barCode.Symbology = new IntelligentMailGenerator();

    // Adjust the bar code's main properties.
    barCode.Text = BarCodeText;
    barCode.ShowText = true;
    barCode.WidthF = 300f;
    barCode.HeightF = 50f;

    // If the AutoModule property is set to false, uncomment the next line.
    barCode.AutoModule = true;
    //barcode.Module = 3;

    return barCode;

To add the XRBarCode to a report band, handle the report’s BeforePrint event.

using System.Drawing.Printing;
// ...

private void XtraReport1_BeforePrint(object sender, PrintEventArgs e) {