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
Inheritance
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 |
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 |
|
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. |