Data Matrix (ECC200)
- 2 minutes to read
Data Matrix (ECC200) is a two-dimensional (2D) barcode symbology that encodes text or binary data in a grid of black and white cells. The symbol uses an L-shaped finder pattern and a timing pattern to determine the barcode’s position, orientation, and dimensions.

Refer to the following page for additional information: https://en.wikipedia.org/wiki/Data_Matrix
Configure Data Matrix (ECC200) Settings
Use the DataMatrixOptions class to configure Data Matrix barcode settings.
| Method | Description |
|---|---|
| setCompactionMode(DataMatrixCompactionMode value) | Sets the encoding scheme used to encode data in the DataMatrix Code. |
| setMatrixSize(DataMatrixSize value) | Sets the barcode matrix size. |
The following code snippet creates a Data Matrix (ECC200) 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 {
DataMatrixOptions options = new DataMatrixOptions();
options.setCompactionMode(DataMatrixCompactionMode.C40);
options.setMatrixSize(DataMatrixSize.MATRIX_12X12);
options.setModuleSize(5);
options.setShowText(true);
options.setPadding(new Padding(10));
Path outputDir = Path.of("output");
Files.createDirectories(outputDir);
try (FileOutputStream fileStream = new FileOutputStream(
outputDir.resolve("datamatrix.png").toFile());
BarcodeGenerator barcodeGenerator = new BarcodeGenerator(options)) {
barcodeGenerator.export(
"SN:DX-987654321",
fileStream,
DXImageFormat.getPng());
}
}
}
Fluent API
Use the DataMatrixOptionsBuilder class to configure Data Matrix barcode settings with the Fluent API.
The following code snippet creates a Data Matrix (ECC200) 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 {
DataMatrixOptions options = DataMatrixOptionsBuilder.create()
.withCompactionMode(DataMatrixCompactionMode.C40)
.withMatrixSize(DataMatrixSize.MATRIX_12X12)
.withModuleSize(5)
.withShowText(true)
.withPadding(new Padding(10))
.build();
Path outputDir = Path.of("output");
Files.createDirectories(outputDir);
try (FileOutputStream fileStream = new FileOutputStream(
outputDir.resolve("datamatrix.png").toFile());
BarcodeGenerator barcodeGenerator = new BarcodeGenerator(options)) {
barcodeGenerator.export(
"SN:DX-987654321",
fileStream,
DXImageFormat.getPng());
}
}
}