QR Code customization

Hi Team,

Is QR code contains cells? If it is contains cells how we configured cell size. And Is there any functions of cell size?

Yes you can control cells size, aspect ratio, and reducing black cells size for ink printers:

BarcodeGenerator generator;
generator = new BarcodeGenerator(EncodeTypes.QR, “1234567”);
generator.Parameters.Barcode.XDimension.Pixels = 7;
//save barcode
generator.Save(@“d:\save\rec\qr1.png”);

generator = new BarcodeGenerator(EncodeTypes.QR, “1234567”);
generator.Parameters.Barcode.XDimension.Pixels = 7;
generator.Parameters.Barcode.QR.AspectRatio = 0.5f;
//save barcode
generator.Save(@“d:\save\rec\qr2.png”);

generator = new BarcodeGenerator(EncodeTypes.QR, “1234567”);
generator.Parameters.Barcode.XDimension.Pixels = 7;
generator.Parameters.Barcode.BarWidthReduction.Pixels = 2f;
//save barcode
generator.Save(@“d:\save\rec\qr3.png”);

Thanks alexander, I want to generate the QR code image size 1.5*1.5cm. How I make this configuration in code.

@thirupathi0101,

See the sample lines of code for your reference:
e.g
Sample code:

Aspose.BarCode.Generation.BarcodeGenerator generator;
generator = new Aspose.BarCode.Generation.BarcodeGenerator(Aspose.BarCode.Generation.EncodeTypes.QR, "1234567");
generator.Parameters.AutoSizeMode = Aspose.BarCode.Generation.AutoSizeMode.Interpolation;
generator.Parameters.ImageHeight.Millimeters = 15f; //since 1 cm = 10mm
generator.Parameters.ImageWidth.Millimeters = 15f; //since 1 cm = 10mm
generator.Save(@“d:\save\rec\qr1.png”);

Hope, this helps a bit.

Also you can hide codetext with CodeLocation.None

generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None;

Hi Alexander,

I have generated QR code with URL (https://test.com). But while scanning it doesn’t come with https. It is showing only test.com instead of https://test.com.

Could you please tell me , Is there any configuration to achieve this?

@thirupathi0101,
I have tried the following sample code to create the QR code with the url “https://test.com” using the latest version 20.10 but could not observe any issue. Program output is attached here for your reference. You may please share your sample code which you have used for testing.

Aspose.BarCode.Generation.BarcodeGenerator generator;
generator = new Aspose.BarCode.Generation.BarcodeGenerator(Aspose.BarCode.Generation.EncodeTypes.QR, "https://test.com");
generator.Parameters.AutoSizeMode = Aspose.BarCode.Generation.AutoSizeMode.Interpolation;
generator.Parameters.ImageHeight.Millimeters = 150f; //since 1 cm = 10mm
generator.Parameters.ImageWidth.Millimeters = 150f; //since 1 cm = 10mm
generator.Save(@"qr1.png");

qr1.png (5.0 KB)

thanks for your reply. And please explain below issue.

I am trying to generate QR code with the combination of japanees+alphabets+numbers+special symbols. This text contains more than 500 characters length. But I am getting “Impossible to encode current data to the QR 40”.

please explain on this issue. I unable to understand this error. And how to solve this issue.

@thirupathi0101,
Please share your code snippet with us for our testing. We will reproduce the problem and provide our feedback after analysis.

Find the below text. I have tried with below text.

QRおねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。vvおねがいします。おねがいします。おねがいします。おねがいします。genrateおねがいします。おねがいします。おねがいします。おねがいします。qr code with given。おねがいします。@Y&#^##()おねがいします。textします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。heightします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。width。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがい

@thirupathi0101,

Please notice, I am able to reproduce the issue as you mentioned by using the simplest lines of code as pasted below. I found an exception “Impossible to encode current data to the QR 40” on rendering qr barcode:
e.g.
Sample code:

Aspose.BarCode.Generation.BarcodeGenerator generator1;
generator1 = new Aspose.BarCode.Generation.BarcodeGenerator(Aspose.BarCode.Generation.EncodeTypes.QR, "QRおねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。vvおねがいします。おねがいします。おねがいします。おねがいします。genrateおねがいします。おねがいします。おねがいします。おねがいします。qr code with given。おねがいします。@Y&#^##()おねがいします。textします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。heightします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。width。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがい");
//save barcode
generator1.Save("e:\\test2\\qrcodeout1.png");//exception

It looks like Aspose.BarCode might not render qr code based on such a long string/text. Anyways, we have to investigate it thoroughly. I have logged a ticket with an id “BARCODENET-37708” for your issue. We will look into it soon.

Once we have an update on it, we will let you know.

Currently we do not support Kanji detection in input codetext in auto mode. The task to solve this already is planned and might be completed next year.

The problem exists because in auto mode the codetext is encoded in utf-8 mode. To avoid this you (quick workaround) can encode Japanese symbols in Shift_JIS ECI mode:

codetext = "QRおねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。vvおねがいします。おねがいします。おねがいします。おねがいします。genrateおねがいします。おねがいします。おねがいします。おねがいします。qr code with given。おねがいします。@Y&#^##()おねがいします。textします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。heightします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。width。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがい";
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, codetext);
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.ECIEncoding;
generator.Parameters.Barcode.QR.QrECIEncoding = ECIEncodings.Shift_JIS;
generator.Save(@"d:\save\rec\qrjapan.png");

yes I tried with Shift_JS . still I am getting same issue.

@thirupathi0101,

Which version of the product you are using? I tested using latest version and it works fine. Here is the sample code that I am using and please find attached the output file:
e.g.
Sample code:

Aspose.BarCode.Generation.BarcodeGenerator generator1;
generator1 = new Aspose.BarCode.Generation.BarcodeGenerator(Aspose.BarCode.Generation.EncodeTypes.QR, "QRおねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。vvおねがいします。おねがいします。おねがいします。おねがいします。genrateおねがいします。おねがいします。おねがいします。おねがいします。qr code with given。おねがいします。@Y&#^##()おねがいします。textします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。heightします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。width。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがいします。おねがい");

            //save barcode
            generator1.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.ECIEncoding;
            generator1.Parameters.Barcode.QR.QrECIEncoding = ECIEncodings.Shift_JIS;
            generator1.Save("e:\\test2\\qr1code.png"); 

qr1code.png (16.7 KB)

Could you share your sample code, we will check it soon.

Thanks for your reply

@thirupathi0101,

You are welcome.

I am able to generate QR code with japanese but I am unable to scan that QR code. And I tried with only 200 length with size 100x100.But able to generate and scan mix like japnese with english and numbers.

@thirupathi0101,

Could you please share your sample (image) file and sample code that you are using, we will check it soon.

@thirupathi0101,

We are pleased to inform you that your issue (logged earlier as “BARCODENET-37708”) has been resolved. You will be notified here (with the Download link) once the fixed version is published.