Skip to main content

QRCodeOptionsBuilder Class

Builds a QRCodeOptions object. Chain builder methods to configure barcode settings, then call the build() method to create the options object.

Declaration

public class QRCodeOptionsBuilder extends BarcodeOptionsBuilder<QRCodeOptions,QRCodeOptionsBuilder>

Remarks

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

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

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

        try (DXImage logo = DXImage.fromStream(new ByteArrayInputStream(logoBytes))) {
            // 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);

            // Customize QR Code parameters.
            QRCodeOptions options = QRCodeOptionsBuilder.create()
                .withErrorCorrectionLevel(QRCodeErrorCorrectionLevel.H)
                .withCompactionMode(QRCodeCompactionMode.AUTO)
                .withVersion(QRCodeVersion.VERSION_10)
                .withIncludeQuietZone(true)
                .withFrameOptions(frameOptions)
                .withLogo(logo)
                .withPadding(new Padding(10))
                .withModuleSize(10)
                .withShowText(false)
                .build();

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

Inherited Members

com.devexpress.system.JavaObject.clone()
com.devexpress.system.JavaObject.equals(java.lang.Object)
com.devexpress.system.JavaObject.hashCode()
com.devexpress.system.JavaObject.initFields()
com.devexpress.system.JavaObject.memberwiseClone()
com.devexpress.system.JavaObject.toString()
java.lang.Object.finalize()
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
JavaObject

QRCodeOptionsBuilder()

Initializes a new instance of the QRCodeOptionsBuilder class.

Declaration

public QRCodeOptionsBuilder()

Methods

create() Method

Creates a new QRCodeOptionsBuilder instance.

Declaration

public static QRCodeOptionsBuilder create()

Returns

Type Description
QRCodeOptionsBuilder

The current QRCodeOptionsBuilder instance for method chaining.

withCompactionMode(QRCodeCompactionMode mode) Method

Specifies the compaction mode and returns the builder instance for method chaining.

Declaration

public QRCodeOptionsBuilder withCompactionMode(QRCodeCompactionMode mode)

Parameters

Name Type Description
mode QRCodeCompactionMode

Indicates the encoding mode.

Returns

Type Description
QRCodeOptionsBuilder

The builder instance for method chaining.

withErrorCorrectionLevel(QRCodeErrorCorrectionLevel correctionLevel) Method

Specifies the error correction level. Returns the builder instance for method chaining.

Declaration

public QRCodeOptionsBuilder withErrorCorrectionLevel(QRCodeErrorCorrectionLevel correctionLevel)

Parameters

Name Type Description
correctionLevel QRCodeErrorCorrectionLevel

Indicates the error correction level.

Returns

Type Description
QRCodeOptionsBuilder

The builder instance for method chaining.

Remarks

QR Codes use the Reed-Solomon error correction algorithm and support four error correction levels. Higher error correction levels improve damage resistance but reduce storage capacity.

withFrameOptions(QRFrameOptions options) Method

Specifies frame options. Returns the builder instance for method chaining.

Declaration

public QRCodeOptionsBuilder withFrameOptions(QRFrameOptions options)

Parameters

Name Type Description
options QRFrameOptions

An object that contains frame options.

Returns

Type Description
QRCodeOptionsBuilder

The builder instance for method chaining.

withIncludeQuietZone(boolean includeQuietZone) Method

Specifies whether to include a quiet zone around code. Returns the builder instance for method chaining.

Declaration

public QRCodeOptionsBuilder withIncludeQuietZone(boolean includeQuietZone)

Parameters

Name Type Description
includeQuietZone boolean

true to include a quiet zone; otherwise, false.

Returns

Type Description
QRCodeOptionsBuilder

The builder instance for method chaining.

withLogo(DXImage logo) Method

Specifies a logo image. Returns the builder instance for method chaining.

Declaration

public QRCodeOptionsBuilder withLogo(DXImage logo)

Parameters

Name Type Description
logo DXImage

Logo image.

Returns

Type Description
QRCodeOptionsBuilder

The builder instance for method chaining.

withVersion(QRCodeVersion version) Method

Specifies the code version and returns the builder instance for method chaining.

Declaration

public QRCodeOptionsBuilder withVersion(QRCodeVersion version)

Parameters

Name Type Description
version QRCodeVersion

Indicates the code version.

Returns

Type Description
QRCodeOptionsBuilder

The builder instance for method chaining.