Skip to main content
A newer version of this page is available. .

Intelligent Mail Package

  • 3 minutes to read

The Intelligent Mail Package Barcode (IMPB) is used on mail in the United States. Barcodes of this symbology are used only for packages, as opposed to Intelligent Mail barcodes, which are used for postcards, letters, and flats. This barcode can encode package tracking information required to sort and deliver packages more efficiently with the piece-level tracking capability.

barcode-impb

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 IntelligentMailPackage (an object of the IntelligentMailPackageGenerator) type).

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

Specific Properties

Use the barcode’s FNC1Substitute property to get or set the symbol (or set of symbols) in the barcode’s text that will be replaced with the FNC1 functional character when the barcode’s bars are drawn.

Runtime Example

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

Note

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 CreateIntelligentMailPackageBarCode(string BarCodeText) {
    // Create a bar code control.
    XRBarCode barCode = new XRBarCode();

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

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

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

    // Adjust the property specific to the bar code type.
    // (Assigned below is the default value.)
    ((IntelligentMailPackageGenerator)barCode.Symbology).FNC1Substitute = "#";

    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) {
    this.Detail.Controls.Add(CreateIntelligentMailPackageBarCode("9212391234567812345671"));
}