Skip to main content

QRCodeCompactionMode Enum

Lists values that indicate the compaction mode for QR Code barcodes.

Declaration

public enum QRCodeCompactionMode extends Enum<QRCodeCompactionMode> implements IIntEnum

Members

Name Description
ALPHA_NUMERIC

Encodes data from a set of alphanumeric characters: digits 0 - 9; upper case letters A - Z; other characters: space, ($), (%), (*), (+), (-), (.), (/) and (:). Max. 4,296 characters.

AUTO

The compaction mode is selected automatically based on the input data.

BYTE

Data is encoded at 8 bits per character. Max. 2,953 bytes.

NUMERIC

Encodes data from the set of digits from 0 to 9. Max. 7,089 characters.

fromValue(int value)

Returns the QRCodeCompactionMode enumeration constant with the specified integer value.

getName()

Returns the name of the QRCodeCompactionMode enumeration constant.

getValue()

Returns the integer value associated with the QRCodeCompactionMode enumeration constant.

toString()

Returns the string representation of the QRCodeCompactionMode enumeration constant.

valueOf(String name)

Returns the QRCodeCompactionMode enumeration constant with the specified name.

values()

Returns an array of all QRCodeCompactionMode enumeration constants.

Remarks

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

        byte[] logoBytes = Files.readAllBytes(Path.of("images/devexpress-logo.png"));

        try (DXImage logo = DXImage.fromStream(new ByteArrayInputStream(logoBytes))) {

            // Customize QR Code parameters.
            QRCodeOptions options = new QRCodeOptions();
            options.setErrorCorrectionLevel(QRCodeErrorCorrectionLevel.H);
            options.setCompactionMode(QRCodeCompactionMode.AUTO);
            options.setVersion(QRCodeVersion.VERSION_10);
            options.setIncludeQuietZone(true);
            options.setLogo(logo);
            options.setPadding(new Padding(10));
            options.setModuleSize(10);
            options.setShowText(false);

            // Customize QR Code frame parameters.
            RectangleQRFrameOptions frameOptions = new RectangleQRFrameOptions();
            frameOptions.setPadding(new Padding(10));
            frameOptions.setFrameColor(Color.getOrange());
            frameOptions.setFrameWidth(10);
            frameOptions.setText("DevExpress");
            frameOptions.setCornerRadius(10);
            frameOptions.setTextAlignment(QRFrameTextAlignment.CENTER);
            frameOptions.setTextColor(Color.getBlack());
            frameOptions.setTextPosition(QRFrameTextPosition.BOTTOM);

            options.setFrameOptions(frameOptions);

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

            try (FileOutputStream fileStream = new FileOutputStream(
                    outputDir.resolve("qrcode.png").toFile());
                    BarcodeGenerator barcodeGenerator = new BarcodeGenerator(options)) {
                        barcodeGenerator.export(
                                "https://www.devexpress.com",
                                fileStream,
                                DXImageFormat.getPng());
            }
        }
    }
}

Refer to the following help topic for additional information: QR Code.

Implements

com.devexpress.java.enums.IIntEnum

Inherited Members

java.lang.Enum.<T>valueOf(java.lang.Class<T>,java.lang.String)
java.lang.Enum.clone()
java.lang.Enum.compareTo(E)
java.lang.Enum.describeConstable()
java.lang.Enum.equals(java.lang.Object)
java.lang.Enum.finalize()
java.lang.Enum.getDeclaringClass()
java.lang.Enum.hashCode()
java.lang.Enum.name()
java.lang.Enum.ordinal()
java.lang.Enum.toString()
java.lang.Object.getClass()
java.lang.Object.notify()
java.lang.Object.notifyAll()
java.lang.Object.wait()
java.lang.Object.wait(long)
java.lang.Object.wait(long,int)

Inheritance

Object
java.lang.Enum
QRCodeCompactionMode