Intelligent Mail (IMb)
- 2 minutes to read
Intelligent Mail (IMb) is a USPS-developed 4-State Customer Barcode (4CB / 4-CB) used for mail processing and tracking within the United States. The barcode is composed of 65 vertical bars (each bar represents one of four possible states).

Refer to the following page for additional information: https://en.wikipedia.org/wiki/Intelligent_Mail_barcode
Configure Intelligent Mail Settings
Use the IntelligentMailOptions class to configure Intelligent Mail barcode settings.
The following code snippet creates an Intelligent Mail barcode and customizes its encoding parameters:
import com.devexpress.drawing.*;
import com.devexpress.docs.barcode.*;
import com.devexpress.system.drawing.*;
import com.devexpress.docs.Padding;
import java.io.*;
import java.nio.file.*;
public class Main {
public static void main(String[] args) throws Exception {
IntelligentMailOptions options = new IntelligentMailOptions();
options.setPadding(new Padding(10));
options.setShowText(true);
options.setWidth(600);
Path outputDir = Path.of("output");
Files.createDirectories(outputDir);
try (FileOutputStream fileStream = new FileOutputStream(
outputDir.resolve("intelligent-mail.png").toFile());
BarcodeGenerator barcodeGenerator = new BarcodeGenerator(options)) {
barcodeGenerator.export(
"0100423355551231234567890123456",
fileStream,
DXImageFormat.getPng());
}
}
}
Fluent API
Use the IntelligentMailOptionsBuilder class to configure Intelligent Mail barcode settings with the Fluent API.
The following code snippet creates an Intelligent Mail barcode and customizes its encoding parameters with the Fluent API:
import com.devexpress.drawing.*;
import com.devexpress.docs.barcode.*;
import com.devexpress.system.drawing.*;
import com.devexpress.docs.Padding;
import java.io.*;
import java.nio.file.*;
public class Main {
public static void main(String[] args) throws Exception {
IntelligentMailOptions options = IntelligentMailOptionsBuilder.create()
.withPadding(new Padding(10))
.withShowText(true)
.withWidth(600)
.build();
Path outputDir = Path.of("output");
Files.createDirectories(outputDir);
try (FileOutputStream fileStream = new FileOutputStream(
outputDir.resolve("intelligent-mail.png").toFile());
BarcodeGenerator barcodeGenerator = new BarcodeGenerator(options)) {
barcodeGenerator.export(
"0100423355551231234567890123456",
fileStream,
DXImageFormat.getPng());
}
}
}