Barcode Xpress for Java v13.9 - Updated
QR Code
Supported Barcode Types > Barcode Types > QR Code

The QR Code barcode is a variable-length, alphanumeric 2D barcode with Reed Solomon Error Correction. QR Codes are one of the only barcodes that can encode Japanese Kanji characters.

Example Barcode

The following example barcode encodes the information "Barcode Xpress - QR Code" as a QR Code barcode:

QR Code

Details

QR Codes encode different data types, and the maximum amount of data that can be encoded depends on the type. The QR Code can encode:

QR Codes also have user-selectable levels of error correction. More error correction means less data can be encoded in the barcode. These are the four levels of QR Code error correction:

Barcode Breakdown

The QR Code consists of two main components:

Managing Organization

The QR Code is governed by ISO/IEC 18004:2015. 1

Platform-Specific Notes

Caution: When using trial (unpaid) licensing, the words " UNLICENSED accusoft.com " will appear in the middle of every Data Matrix, QR Code and PDF417 barcode created, taking up 25 bytes of space. When testing the contents of generated barcodes, be aware of the extra space requirements.

If using the 1D/2D Standard or 1D/2D Professional editions, 2D writes are supported for QR Code using an external application. Typically, this can be done using the ImagXpress control (sold separately) or by writing to a Printer Device Context. The external application will set the barcode writing parameters and make a call to the Create method. The output image will then be available in the image properties. Included features to use for this functionality are:

  • BarcodeData - Barcode value returned as an array of bytes.
  • RowsAndColumns - This value is used to set the number of rows, which will always be equal to the number of columns, as all QR Code barcodes are square.
  • RowsAndColumnsCreated - The number of rows and columns created.
  • QRCodeSizes enumeration - The range of possible values to use with RowsAndColumns property.
  • ErrorCorrectionLevel - This value is used for the amount of error correction to add to a barcode which supports selected error correction level.
  • QRCodeErrorCorrectionLevel enumeration - The range of possible values to use with ErrorCorrectionLevel property.

Caution: When using trial (unpaid) licensing, the words " UNLICENSED accusoft.com " will appear in the middle of every Data Matrix, QR Code and PDF417 barcode created, taking up 25 bytes of space. When testing the contents of generated barcodes, be aware of the extra space requirements.

Barcode Xpress for .NET Core supports creating QR Code, PDF417, and Data Matrix barcodes which can then be written using the ImagXpress control (sold separately) or by writing to a Printer Device Context. Your application logic will set the barcode writing parameters and make a call to the Create method. The output image will then be returned in the call. Included features to use for this functionality are:

  • BarcodeData - Barcode value returned as an array of bytes.
  • RowsAndColumns - This value is used to set the number of rows, which will always be equal to the number of columns, as all QR Code barcodes are square.
  • RowsAndColumnsCreated - The number of rows and columns created.
  • QRCodeSizes enumeration - The range of possible values to use with RowsAndColumns property.
  • ErrorCorrectionLevel - This value is used for the amount of error correction to add to a barcode which supports selected error correction level.
  • QRCodeErrorCorrectionLevel enumeration - The range of possible values to use with ErrorCorrectionLevel property.

Caution: When using trial (unpaid) licensing, the words " UNLICENSED accusoft.com " will appear in the middle of every Data Matrix, QR Code and PDF417 barcode created, taking up 25 bytes of space including the leading and trailing spaces. When testing the contents of generated barcodes, be aware of the extra space requirements.

The 1D/2D Professional edition supports creating QR Code, PDF417, and Data Matrix barcodes which can then be written using the ImagXpress control (sold separately) or by writing to a Printer Device Context. Your application logic will set the barcode writing parameters and make a call to the MakeBarcode method. The output image will then be returned in the call. Included features to use with this functionality are:

  • MakeBarcodeStyle - The type of barcode to create.
  • MakeBarcodeDataValueLength - Gets the length of the current barcode data in bytes.
  • MakeBarcodeRows - This value is used to set the number of rows.
  • MakeBarcodeRowsCreated - The number of rows created.
  • MakeBarcodeColumns - This value is used to set the number of columns to create.
  • MakeBarcodeColumnsCreated - The number of columns created.
  • MakeBarcodeErrorCorrectionLevel - This value is used for the amount of error correction to add to a barcode which supports selected error correction level.
  • MakeBarcodeErrorCorrectionLevelUsed - The value from the error correction level created.
  • MakeBarcodeRHeight - An output height value is required to create the barcode image.
  • MakeBarcodeRWidth - An output width value is required to create the barcode image.
  • GetMakeBarcodeDataValue - Gets the barcode value as an array of bytes.
  • SetMakeBarcodeDataValue - Used to set the barcode value as an array of bytes.

Similar Barcode Types

Micro QR is a compact version of the QR Code barcode, the main differences are:

Micro QR QR
Three levels of error correction Four levels of error correction
Requires one finder pattern Requires three finder patterns
Can contain a maximum of 128 bits Can contain a maximum of 23,648 bits

Related Barcodes

The QR Code barcode is similar to the Aztec, except the finder pattern is in the corners, rather than the center. This makes preprocessing operations like deskewing easier, but makes the symbol have less data density.

References

  1. "QR Code Bar Code Symbology Specification." ISO/IEC 18004:2015, ISO/IEC, Feb. 2015, www.iso.org/standard/62021.html.


For additional background and use-case information see our QR barcode page.
For more information, see the Barcode Xpress SDK product page or try our online demos.

Is this page helpful?
Yes No
Thanks for your feedback.