Skip to main content

Micro QR Code

  • 2 minutes to read

Micro QR Code is a compact variant of the standard QR Code designed for very small labeling areas. It encodes limited amounts of data while preserving the QR family’s quick readability and error correction capabilities.

Micro QR Code, DevExpress Barcode Generation API for Java

Configure Micro QR Code Settings

Use the MicroQRCodeOptions class to configure Micro QR Code barcode settings.

Method Description
setCompactionMode(MicroQRCodeCompactionMode value) Specifies how input data is compacted (numeric, alphanumeric, or byte mode depending on version).
setErrorCorrectionLevel(MicroQRCodeErrorCorrectionLevel value) Specifies the error correction level.
setIncludeQuietZone(boolean value) Specifies whether to include a quiet zone (a margin of empty space) around the symbol.
setVersion(MicroQRCodeVersion value) Sets the Micro QR Code version.

The following code snippet creates a Micro QR Code 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 {

        MicroQRCodeOptions options = new MicroQRCodeOptions();
        options.setCompactionMode(MicroQRCodeCompactionMode.BYTE);
        options.setErrorCorrectionLevel(MicroQRCodeErrorCorrectionLevel.AUTO);
        options.setPadding(new Padding(10));
        options.setShowText(false);

        Path outputDir = Path.of("output");
        Files.createDirectories(outputDir);

        try (FileOutputStream fileStream = new FileOutputStream(
                outputDir.resolve("microQRcode.png").toFile());
                BarcodeGenerator barcodeGenerator = new BarcodeGenerator(options)) {
                    barcodeGenerator.export(
                            "DXv26.1",
                            fileStream,
                            DXImageFormat.getPng());
        }
    }
}

Fluent API

Use the MicroQRCodeOptionsBuilder class to configure Micro QR Code barcode settings with the Fluent API.

The following code snippet creates a Micro QR Code 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 {

        MicroQRCodeOptions options = MicroQRCodeOptionsBuilder.create()
            .withCompactionMode(MicroQRCodeCompactionMode.BYTE)
            .withErrorCorrectionLevel(MicroQRCodeErrorCorrectionLevel.AUTO)
            .withPadding(new Padding(10))
            .withShowText(false)
            .build();

        Path outputDir = Path.of("output");
        Files.createDirectories(outputDir);

        try (FileOutputStream fileStream = new FileOutputStream(
                outputDir.resolve("microQRcode.png").toFile());
                BarcodeGenerator barcodeGenerator = new BarcodeGenerator(options)) {
                    barcodeGenerator.export(
                            "DXv26.1",
                            fileStream,
                            DXImageFormat.getPng());
        }
    }
}
See Also