Skip to main content

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.

Data Matrix (ECC200), DevExpress Barcode Generation API for Java

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());
        }
    }
}
See Also