How to Generate 2D QR-Code Barcodes in Crystal Reports for .NET
Easy to create barcodes in Crystal Reports without using barcode fonts or third party tools
Developed in Visual C# with full integration for .NET framework 4.x, 3.x, 2.x
Simple to print QR Code barcodes using Crystal Report in Windows applications and ASP.NET web applications
Programmatically create, generate QR Code 2D barcodes with C# and VB.NET
Programmatically create QR-Codes in ASP.NET with C#, VB.NET Class Library
Make multiple QR Codes images in Crystal Report within a few steps
Flexible barcode settings available as specified in standard
Complete barcode settings to adjust various QR Code barcode parameters
The QR Code barcode generation control for Crystal Reports is a professional and robust .NET component designed for integration with Visual Studio 2005, 2008, 2010, and later versions. It enables dynamic generation of QR Code symbols within Crystal Reports, suitable for listing and reporting scenarios.
This guide delivers a structured, step-by-step approach to creating and printing QR Code (Quick Response Code) images into Crystal Reports for .NET, supporting both ASP.NET and Windows Forms projects.
Using the Barcode Generator for Crystal Reports .NET library, you can embed QR Codes directly into .rpt files (Crystal Reports template files) for display in CrystalReportViewer (WinForms, WPF, or ASP.NET viewer control) or exported report formats.
Introduction
QR-Code is also known as Quick Response Code, Denso Barcode, QRCode, JIS X 0510, ISO/IEC 18004.
Compatibility: Barcode for Crystal Reports control / dll is compatible with ISO/IEC 18004 bar code symbology specification.
How to Print QR Code Barcodes in Crystal Reports Using C#, VB.NET
BarcodeLib.com provides detailed guides for users to create barcodes in Crystal Report in C# ASP.NET web and WinForms desktop application.
The demo ASP.NET and WinForms application will create and print Code 128 barcodes in the report. To generate QR Code in the report,
you need do the following code modification.
For ASP.NET web application, open file Default.aspx.cs in Visual Studio, go to method Page_Load
For WinForms application, open file Form1.cs in Visual Studio, go to method Form1_Load
Change the default Code 128 barcode generation code to the following QR Code generation C# code.
Change QR Code image size to 2-inch width and 2-inch height.
Open report file CrystalReport1.rpt in Visual Studio. Click the Barcode item, change the properties:
Property XScaling value to 2.
Property YScaling value to 2.
Now run the modified ASP.NET web application, you can view the QR Codes printed in the report in browser.
Print QR Code with Diverse Text Formats in Crystal Reports
QR Code is a 2D barcode symbology that supports various text string formats defined by industry standards, such as the GS1 Specification. The following sections explain how to print QR Codes with diverse text formats in Crystal Reports using C#.
Encode ASCII Non-Printing Characters
ASCII control characters, such as carriage return (CR), require special encoding for structured data in Crystal Reports formula field output.
Set ProcessTilde to true to enable the tilde (~) as an escape character.
In the Data property, non-printable characters are converted to the ~ddd format, where ddd is the three-digit ASCII value.
The following C# codes will print QR Code with SEVEN characters encoded. And the ASCII char carriage return integer value is 13.
Adjust QR Code image width & height in Crystal Reports
Optimize QR Code dimensions for Crystal Reports image controls to avoid distortion in printed or exported reports.
QR Codes are square, so the image width (property ImageWidth) defines both dimensions.
Add the following C# code to the Crystal Reports for .NET project:
Determine the QR Code printing size in the .rpt file (matches ImageWidth).
Use UOM to select the preferred unit of measure (inch or cm).
Specify the QR Code rendering side with ImageWidth.
Quiet zones, or blank space, ensure scannability. Set margins on QR Code images in Crystal Reports.
The QR Code standard requires a quiet zone of 10X, where X is the QR Code module size. Insufficient quiet zones may cause scan errors in printed reports; test physical prints before deployment.
Use the following properties to apply the QR Code left, right, top, bottom margin size.
Appy high-resolution QR Code image through property Resolution. Optimize for printed reports, critical for Crystal Reports printing functionality.
Transparent image background through property BackgroundColor with value Color.Transparent: Seamless integration with Crystal Reports Details section backgrounds.
The following advanced customization parameters are available for QR Code. It is recommended to use the preset values of the library. If modifications are required to meet specific requirements, refer to the C# code examples below.
Error Correction Mode
Reed-Solomon error correction ensures QR Codes remain scannable, which is critical for printed reports. Configure the error correction level (ECL) to match the use case:
QRCodeErrorCorrectionLevel.L: 7% (default)
QRCodeErrorCorrectionLevel.M: 15%
QRCodeErrorCorrectionLevel.Q: 25%
QRCodeErrorCorrectionLevel.H: 30%
barcode.ECL=QRCodeErrorCorrectionLevel.M;
QR Code Version
QR Codes have 40 versions (sizes) to accommodate varying data volumes in Crystal Reports. Higher versions (e.g., V40) require larger PictureBox controls in Crystal Reports.
barcode.Version=QRCodeVersion.V2;
Structured Append Mode
Split a large text message across up to 16 QR Codes, which is useful when the data exceeds the capacity of a single QR Code.
FNC1 First Position (GS1)
Set property FNC1Mode with value QRCodeFNC1Mode.FirstPosition to generate GS1 compliant QR Code in Crystal Reports supply chain and retail scenarios.
barcode.FNC1Mode=QRCodeFNC1Mode.FirstPosition;
More information about QR Code Text Encoding in Crystal Reports
QR Code Encoding Character Sets for Crystal Reports
Numbers (digits 0–9)
ASCII characters (plain text)
Unicode text. For multilingual reports (Arabic, Greek, Thai) in global deployments
Byte data (default: ISO/IEC 8859-1). Encoding byte arrays stored in ADO.NET DataSet
Kanji characters (13-bit compression). Optimized for Japanese locale reports
QR Code Data Mode for Crystal Reports
The Crystal Reports for .NET Barcode library automatically analyzes the encoding data and selects the appropriate QR Code data encoding mode. To manually customize the data mode encoding, use the property Encoding with the following value.
QRCodeEncoding.Auto (Default): The library chooses the optimal combination of data modes based on the encoding data.
QRCodeEncoding.Numeric: Digits 0 - 9 only.
QRCodeEncoding.AlphaNumeric: 0 - 9, A - Z, and special characters.
QRCodeEncoding.Byte: Byte data (ISO/IEC 8859-1).
QRCodeEncoding.Kanji: Kanji characters (13-bit).
barcode.Encoding=QRCodeEncoding.Auto;
Maximum Data Length for Crystal Reports QR Codes
The QR Code standard specifies forty sizes, referred to as Version 1 through Version 40. Version 40-L QR Codes, the largest standard size, support the following limits to avoid truncation in Crystal Reports:
Numeric data: 7,089 characters
Alphanumeric data: 4,296 characters
Byte data: 2,953 characters
Kanji data: 1,817 characters
Note: Exceeding these limits triggers QR Code encoding errors. The Structured Append mode, covered later, can be used for large text messages.
Summary
This guide has provided a comprehensive walkthrough for generating and customizing QR Code barcodes in Crystal Reports using the BarcodeLib Barcode Generator for Crystal Reports for .NET library.
Print QR Codes in Reports: Generate QR Codes in C# (or VB.NET) and bind them to Crystal Reports for .NET using ReportDocument, CrystalReportViewer, and .rpt file templates. This approach is compatible with ASP.NET Web Forms, WinForms, and WPF (via WindowsFormsHost).
Handle Diverse Text Formats: Utilize automatic or manual data modes to support ASCII, Unicode, and GS1-compliant data. Non-printable characters are processed using tilde encoding, ensuring accurate binding to Crystal Reports formula and parameter fields.
Optimize Appearance and Layout: Adjust dimensions, quiet zones, colors, and resolution to align with Crystal Reports layout requirements across headers, footers, and details sections. Advanced features such as Structured Append and error correction levels provide flexibility for enterprise reporting needs.
Crystal Reports Barcode Generator Control Supported Symbologies