GS1 DataBar
- 2 minutes to read
GS1 DataBar is a family of compact linear barcode symbologies designed for retail, couponing, and supply chain applications. Depending on the variant, GS1 DataBar can encode GTIN-8, GTIN-12, GTIN-13, and GTIN-14 identifiers in a smaller symbol than traditional retail barcodes.

Refer to the following help topic for additional information: https://www.gs1.org/standards/barcodes/databar
Configure GS1 DataBar Settings
Use the DataBarOptions class to configure GS1 DataBar barcode settings.
| Method | Description |
|---|---|
| setType(DataBarType value) | Specifies the GS1 DataBar symbol type. |
| setSegmentsInRow(int value) | Sets the number of data segments per row in the EXPANDED_STACKED symbol type. |
| setFNC1Substitute(String value) | Specifies the substitute character used to represent the FNC1 separator in GS1 DataBar input data. |
The following code snippet creates a GS1 DataBar 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 {
DataBarOptions options = new DataBarOptions();
options.setType(DataBarType.EXPANDED_STACKED);
options.setSegmentsInRow(4);
options.setPadding(new Padding(10));
options.setShowText(false);
Path outputDir = Path.of("output");
Files.createDirectories(outputDir);
try (FileOutputStream fileStream = new FileOutputStream(
outputDir.resolve("databar.png").toFile());
BarcodeGenerator barcodeGenerator = new BarcodeGenerator(options)) {
barcodeGenerator.export(
"010950600013435210ABC123",
fileStream,
DXImageFormat.getPng());
}
}
}
Fluent API
Use the DataBarOptionsBuilder class to configure GS1 DataBar barcode settings with the Fluent API.
The following code snippet creates a GS1 DataBar 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 {
DataBarOptions options = DataBarOptionsBuilder.create()
.withType(DataBarType.EXPANDED_STACKED)
.withSegmentsInRow(4)
.withPadding(new Padding(10))
.withShowText(false)
.build();
Path outputDir = Path.of("output");
Files.createDirectories(outputDir);
try (FileOutputStream fileStream = new FileOutputStream(
outputDir.resolve("databar.png").toFile());
BarcodeGenerator barcodeGenerator = new BarcodeGenerator(options)) {
barcodeGenerator.export(
"010950600013435210ABC123",
fileStream,
DXImageFormat.getPng());
}
}
}