The data to encode using the required QR Code symbol.
A member of the BarcodeQREncodingMode enumeration. The QR Code encoding mode.
A member of the BarcodeQRErrorCorrectionLevel enumeration. The error correction level.

These levels are defined in terms of percentage of codewords in the barcode that can be corrected if damaged. The higher the level, the greater the error correction, but also the larger the QR Code version.

The version of the QR Code, it specifies the overall dimensions of the symbol.

QR Codes can be generated in 40 different symbol versions, from 21 x 21 modules (version 1) to 177 x 177 modules (version 40), therefore the range for this parameter is 0 - 40. You can use 0 to let the engine decide the minimum version required to encode all specified data.

The number of modules composing the quiet zone.

The quiet zone is the margin area around the QR Code symbol, that does not contain any information. It separates the symbol from its surroundings. Specifically, QR Code requires a four-module wide margin at all four sides of a symbol.

The size of each module within the drawn symbol, in points.

The module is the smallest cell in the symbol. The module size has to be made out of at least 2×2 printed dots for bigger reliability, therefore the recommended value for this parameter is 4 and greater.

Specifically for QR Codes, the larger the module is, the more stable and easier to read with a QR Code scanner it becomes. On the other hand, as the QR Code symbol size gets larger, a larger printing area is required.

The horizontal (X) coordinate of the destination point, expressed in the current units specified by the SetMeasurementUnit method with respect to the defined origin, related to the currently selected page.
The vertical (Y) coordinate of the destination point, expressed in the current units specified by the SetMeasurementUnit method with respect to the defined origin, related to the currently selected page.
The amount of cyan color to be used for the symbol's resulting fill color. Use the value between 0 and 255.
The amount of magenta color to be used for the symbol's resulting fill color. Use the value between 0 and 255.
The amount of yellow color to be used for the symbol's resulting fill color. Use the value between 0 and 255.
The amount of black color to be used for the symbol's resulting fill color. Use the value between 0 and 255.
The amount of cyan color to be used for the symbol's resulting background color. Use the value between 0 and 255.
The amount of magenta color to be used for the symbol's resulting background color. Use the value between 0 and 255.
The amount of yellow color to be used for the symbol's resulting background color. Use the value between 0 and 255.
The amount of black color to be used for the symbol's resulting background color. Use the value between 0 and 255.
Example





In This Topic
GdPicture14 Namespace / GdPicturePDF Class / DrawBarcodeQrCode Method / DrawBarcodeQrCode(String,BarcodeQREncodingMode,BarcodeQRErrorCorrectionLevel,Int32,Int32,Int32,Single,Single,Byte,Byte,Byte,Byte,Byte,Byte,Byte,Byte) Method

DrawBarcodeQrCode(String,BarcodeQREncodingMode,BarcodeQRErrorCorrectionLevel,Int32,Int32,Int32,Single,Single,Byte,Byte,Byte,Byte,Byte,Byte,Byte,Byte) Method

In This Topic
Draws a required QR Code onto the currently selected page of the loaded PDF document according to your preference.

This method uses the CMYK color space for specifying the desired colors (both fill and background) of the QR Code symbol.

The coordinates and the dimensions of the code symbol need to be set in the current units with respect to the currently located origin defined in the PDF document, related to the actual page, where the symbol is to be drawn. You can use the GetMeasurementUnit method to determine the currently defined units and you can use the SetMeasurementUnit method to reset the units according to your preference.

Syntax
'Declaration
 
Public Overloads Function DrawBarcodeQrCode( _
   ByVal Data As String, _
   ByVal EncodingMode As BarcodeQREncodingMode, _
   ByVal ErrorCorrectionLevel As BarcodeQRErrorCorrectionLevel, _
   ByVal Version As Integer, _
   ByVal QuietZone As Integer, _
   ByVal ModuleSize As Integer, _
   ByVal DstX As Single, _
   ByVal DstY As Single, _
   ByVal FillColorC As Byte, _
   ByVal FillColorM As Byte, _
   ByVal FillColorY As Byte, _
   ByVal FillColorK As Byte, _
   ByVal BackColorC As Byte, _
   ByVal BackColorM As Byte, _
   ByVal BackColorY As Byte, _
   ByVal BackColorK As Byte _
) As GdPictureStatus
public function DrawBarcodeQrCode( 
    Data: String;
    EncodingMode: BarcodeQREncodingMode;
    ErrorCorrectionLevel: BarcodeQRErrorCorrectionLevel;
    Version: Integer;
    QuietZone: Integer;
    ModuleSize: Integer;
    DstX: Single;
    DstY: Single;
    FillColorC: Byte;
    FillColorM: Byte;
    FillColorY: Byte;
    FillColorK: Byte;
    BackColorC: Byte;
    BackColorM: Byte;
    BackColorY: Byte;
    BackColorK: Byte
): GdPictureStatus; 
public function DrawBarcodeQrCode( 
   Data : String,
   EncodingMode : BarcodeQREncodingMode,
   ErrorCorrectionLevel : BarcodeQRErrorCorrectionLevel,
   Version : int,
   QuietZone : int,
   ModuleSize : int,
   DstX : float,
   DstY : float,
   FillColorC : byte,
   FillColorM : byte,
   FillColorY : byte,
   FillColorK : byte,
   BackColorC : byte,
   BackColorM : byte,
   BackColorY : byte,
   BackColorK : byte
) : GdPictureStatus;

Parameters

Data
The data to encode using the required QR Code symbol.
EncodingMode
A member of the BarcodeQREncodingMode enumeration. The QR Code encoding mode.
ErrorCorrectionLevel
A member of the BarcodeQRErrorCorrectionLevel enumeration. The error correction level.

These levels are defined in terms of percentage of codewords in the barcode that can be corrected if damaged. The higher the level, the greater the error correction, but also the larger the QR Code version.

Version
The version of the QR Code, it specifies the overall dimensions of the symbol.

QR Codes can be generated in 40 different symbol versions, from 21 x 21 modules (version 1) to 177 x 177 modules (version 40), therefore the range for this parameter is 0 - 40. You can use 0 to let the engine decide the minimum version required to encode all specified data.

QuietZone
The number of modules composing the quiet zone.

The quiet zone is the margin area around the QR Code symbol, that does not contain any information. It separates the symbol from its surroundings. Specifically, QR Code requires a four-module wide margin at all four sides of a symbol.

ModuleSize
The size of each module within the drawn symbol, in points.

The module is the smallest cell in the symbol. The module size has to be made out of at least 2×2 printed dots for bigger reliability, therefore the recommended value for this parameter is 4 and greater.

Specifically for QR Codes, the larger the module is, the more stable and easier to read with a QR Code scanner it becomes. On the other hand, as the QR Code symbol size gets larger, a larger printing area is required.

DstX
The horizontal (X) coordinate of the destination point, expressed in the current units specified by the SetMeasurementUnit method with respect to the defined origin, related to the currently selected page.
DstY
The vertical (Y) coordinate of the destination point, expressed in the current units specified by the SetMeasurementUnit method with respect to the defined origin, related to the currently selected page.
FillColorC
The amount of cyan color to be used for the symbol's resulting fill color. Use the value between 0 and 255.
FillColorM
The amount of magenta color to be used for the symbol's resulting fill color. Use the value between 0 and 255.
FillColorY
The amount of yellow color to be used for the symbol's resulting fill color. Use the value between 0 and 255.
FillColorK
The amount of black color to be used for the symbol's resulting fill color. Use the value between 0 and 255.
BackColorC
The amount of cyan color to be used for the symbol's resulting background color. Use the value between 0 and 255.
BackColorM
The amount of magenta color to be used for the symbol's resulting background color. Use the value between 0 and 255.
BackColorY
The amount of yellow color to be used for the symbol's resulting background color. Use the value between 0 and 255.
BackColorK
The amount of black color to be used for the symbol's resulting background color. Use the value between 0 and 255.

Return Value

A member of the GdPictureStatus enumeration. If the method has been successfully followed, then the return value is GdPictureStatus.OK.

We strongly recommend always checking this status first.

Remarks
This method is only allowed for use with non-encrypted documents.

Just to remind you that 1 point is equivalent to 1/72 of an inch.

This method requires the Barcode Reading & Writing component to run.

Example
How to draw various QR Codes onto the newly created page of the new PDF document.
Dim caption As String = "Example: DrawBarcodeQrCode"
Dim gdpicturePDF As New GdPicturePDF()
Dim status As GdPictureStatus = gdpicturePDF.NewPDF()
If status = GdPictureStatus.OK Then
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft)
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter)
    status = gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeLetter)
    If status = GdPictureStatus.OK Then
        If (gdpicturePDF.DrawBarcodeQrCode("0123456789", BarcodeQREncodingMode.BarcodeQREncodingModeAlphaNumeric, BarcodeQRErrorCorrectionLevel.BarcodeQRErrorCorrectionLevelM,
                                            0, 2, 2, 2, 2, 0, 255, 0, 0, 255, 0, 0, 0) = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.DrawBarcodeQrCode("0123456789", BarcodeQREncodingMode.BarcodeQREncodingModeAlphaNumeric, BarcodeQRErrorCorrectionLevel.BarcodeQRErrorCorrectionLevelM,
                                            0, 3, 4, 6, 2, 0, 255, 0, 0, 255, 0, 0, 0) = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.DrawBarcodeQrCode("0123456789", BarcodeQREncodingMode.BarcodeQREncodingModeAlphaNumeric, BarcodeQRErrorCorrectionLevel.BarcodeQRErrorCorrectionLevelM,
                                            0, 4, 8, 12, 2, 0, 255, 0, 0, 255, 0, 0, 0) = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.DrawBarcodeQrCode("9876543210", BarcodeQREncodingMode.BarcodeQREncodingModeAlphaNumeric, BarcodeQRErrorCorrectionLevel.BarcodeQRErrorCorrectionLevelL,
                                            0, 2, 2, 2, 12, 0, 255, 0, 0, 0, 0, 255, 0) = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.DrawBarcodeQrCode("9876543210", BarcodeQREncodingMode.BarcodeQREncodingModeAlphaNumeric, BarcodeQRErrorCorrectionLevel.BarcodeQRErrorCorrectionLevelL,
                                            0, 3, 4, 6, 12, 0, 255, 0, 0, 0, 0, 255, 0) = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.DrawBarcodeQrCode("9876543210", BarcodeQREncodingMode.BarcodeQREncodingModeAlphaNumeric, BarcodeQRErrorCorrectionLevel.BarcodeQRErrorCorrectionLevelL,
                                            0, 4, 8, 12, 12, 0, 255, 0, 0, 0, 0, 255, 0) = GdPictureStatus.OK) Then
            status = gdpicturePDF.SaveToFile("test_DrawBarcodeQrCode.pdf")
            If status = GdPictureStatus.OK Then
                MessageBox.Show("The example has been followed successfully and the file has been saved.", caption)
            Else
                MessageBox.Show("The example has been followed successfully, but the file can't be saved. Status: " + status.ToString(), caption)
            End If
        Else
            MessageBox.Show("The one of the DrawBarcodeQrCode() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
        End If
    Else
        MessageBox.Show("The NewPage() method has failed with the status: " + status.ToString(), caption)
    End If
Else
    MessageBox.Show("The NewPDF() method has failed with the status: " + status.ToString(), caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: DrawBarcodeQrCode";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
GdPictureStatus status = gdpicturePDF.NewPDF();
if (status == GdPictureStatus.OK)
{
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft);
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter);
    status = gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeLetter);
    if (status == GdPictureStatus.OK)
    {
        if ((gdpicturePDF.DrawBarcodeQrCode("0123456789", BarcodeQREncodingMode.BarcodeQREncodingModeAlphaNumeric, BarcodeQRErrorCorrectionLevel.BarcodeQRErrorCorrectionLevelM,
                                             0, 2, 2, 2, 2, 0, 255, 0, 0, 255, 0, 0, 0) == GdPictureStatus.OK) &&
            (gdpicturePDF.DrawBarcodeQrCode("0123456789", BarcodeQREncodingMode.BarcodeQREncodingModeAlphaNumeric, BarcodeQRErrorCorrectionLevel.BarcodeQRErrorCorrectionLevelM,
                                             0, 3, 4, 6, 2, 0, 255, 0, 0, 255, 0, 0, 0) == GdPictureStatus.OK) &&
            (gdpicturePDF.DrawBarcodeQrCode("0123456789", BarcodeQREncodingMode.BarcodeQREncodingModeAlphaNumeric, BarcodeQRErrorCorrectionLevel.BarcodeQRErrorCorrectionLevelM,
                                             0, 4, 8, 12, 2, 0, 255, 0, 0, 255, 0, 0, 0) == GdPictureStatus.OK) &&
            (gdpicturePDF.DrawBarcodeQrCode("9876543210", BarcodeQREncodingMode.BarcodeQREncodingModeAlphaNumeric, BarcodeQRErrorCorrectionLevel.BarcodeQRErrorCorrectionLevelL,
                                             0, 2, 2, 2, 12, 0, 255, 0, 0, 0, 0, 255, 0) == GdPictureStatus.OK) &&
            (gdpicturePDF.DrawBarcodeQrCode("9876543210", BarcodeQREncodingMode.BarcodeQREncodingModeAlphaNumeric, BarcodeQRErrorCorrectionLevel.BarcodeQRErrorCorrectionLevelL,
                                             0, 3, 4, 6, 12, 0, 255, 0, 0, 0, 0, 255, 0) == GdPictureStatus.OK) &&
            (gdpicturePDF.DrawBarcodeQrCode("9876543210", BarcodeQREncodingMode.BarcodeQREncodingModeAlphaNumeric, BarcodeQRErrorCorrectionLevel.BarcodeQRErrorCorrectionLevelL,
                                             0, 4, 8, 12, 12, 0, 255, 0, 0, 0, 0, 255, 0) == GdPictureStatus.OK))
        {
            status = gdpicturePDF.SaveToFile("test_DrawBarcodeQrCode.pdf");
            if (status == GdPictureStatus.OK)
                MessageBox.Show("The example has been followed successfully and the file has been saved.", caption);
            else
                MessageBox.Show("The example has been followed successfully, but the file can't be saved. Status: " + status.ToString(), caption);
        }
        else
            MessageBox.Show("The one of the DrawBarcodeQrCode() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
    }
    else
        MessageBox.Show("The NewPage() method has failed with the status: " + status.ToString(), caption);
}
else
    MessageBox.Show("The NewPDF() method has failed with the status: " + status.ToString(), caption);
gdpicturePDF.Dispose();
See Also