Home:  Products:  Fonts:  QR-Code Font:  QR-Code Font User Manual:

QR-Code Font and Encoder Tutorial & User Manual

DEMO NOTICE:
The demo version of this product will produce larger symbols because the text of "DEMO<CR><LF>" is encoded in each symbol with the data that is being encoded. The purchased version does not include this limitation.

INDEX:   [Order Now]

* Internet access is required to view this link.

QR-Code Implementation Options

In the event the font encoders and graphic encoders provided are not supported in the desired application, other implementation options are available:

  • QR-Code may be printed on an unsupported system by using a font encoder to populate a database with the "text string to print" and by accessing the database from the other system with the QR-Code font.
  • The source code for any single encoder will be supplied with the purchase of the Unlimited Developer License and a signed source code license agreement.
  • NiceLabel Barcode Label Software Professional may be a good alternative. It is a stand-alone label design application with VB scripting support and database connectivity.
  • IDAutomation Image Generators create images one at a time on Windows systems with command line options.

Windows Installation Overview

Extract the file(s) provided with the product and run the installation executable. The installation executable will install the files needed in the application folder under Program Files, and the following components:

  1. QR-Code Generator Application - An application that provides an easy method for users to create QR-Code barcodes and print or paste them into other applications.
  2. IDAutomation 2D font used to create QR-Code symbols.
  3. Crystal Reports UFL - Compatible with version 9 and above.
  4. Windows DLLs - Managed code DLLs are installed in the system folder and are used as the font encoder library all Windows applications. The DLLs are registered by the installation program using RegAsm.exe for COM Interop.
  5. VBA Module - The module may be used in VB, Excel or Access.
  6. VB 6 Source Code - the source code used to create the QR-Code Encoder for Windows is also supplied. The source code for generating QR-Code from any other single encoder may be provided with the purchase of the Unlimited Developer License and a signed source code agreement.
  7. Microsoft Office Examples are provided for Word mail-merge and Access.

If it is necessary to verify QR-Code barcodes, consider purchasing a Verifier or Image Reader.

Importing the VBA Module into Visual Basic, Excel or Access

The VBA module is required when using the font encoders in VB 6, Excel or Access. The IDAutomation_QRCodeVBA.bas module creates symbols quickly by using the already installed ActiveX DLL for the font encoder functionality.

Importing the module:

  1. Extract the files provided with the product.
  2. Open VB, Excel or Access.
  3. If Excel or Access is being used, choose Tools - Macro - Visual Basic Editor to open the VB editor.
  4. Run the installation executable in the package and go to Tools - References and select IDAutomation QRCode Component, click OK.
  5. Choose File - Import File and select the module to import from the VBA folder of the extracted files.
  6. If Excel or Access is being used, choose File - Close to close the VB editor and choose File - Save.
  7. After the file is imported, the IDAutomation_QR-Code function may be called according to the chart below. The zero digit is the default for all parameters (which are optional) and is used for automatic mode or a false setting. The one digit is used for a true setting.
     
    IDAutomation_QRCodeVBA.bas
    EncQR(DataToEncode As String, Optional ProcTilde As Integer = 0, Optional EncMode As Integer = 0, Optional Version As Integer = 0, Optional ErrorCorrectionLevel As Integer = 0) As String Example:
    =EncQR([Test Data.data])
    or
    =EncQR([Test Data.data],1,0,0,2)
Microsoft Access Implementation

Barcodes may be generated in Access reports using the following procedure.

  1. Run the installation executable file in the package and follow the instructions to complete the installation.
  2. Import the VBA module into the database.
  3. Open a report in Design Mode.
  4. Add a text field to the report and size it appropriately, to be large enough to contain the symbol. Change the font point size of the field to 8 points.
  5. Right-click on the text field and enter the function call as a formula in the control source property. For example:
    =EncQR([Test Data.data])
  6. Save the report and run it; several letters should appear in the text field. This is the data that will create a correct barcode when combined with the 2D font.
  7. Open the report in design mode and select the IDAutomation2D font for the text field. The recommended point size is 8 points.
  8. Save the report and run it; a correct symbol should appear in the text field.
Word Mail-Merge Implementation

QR-Code barcodes may be created in a Word mail-merge if Excel is used as the data source with the following procedure:

  1. Extract the files provided with the product.
  2. Run the installation executable in the package to install the IDAutomation2D font.
  3. Import the VBA module into the Excel spreadsheet that will be used as the data source.
  4. Place a title in each column of the spreadsheet on row 1 that will contain the data, and then import the data into the Excel spreadsheet.
  5. Select a blank column on row 1, to the right of the last populated column in the spreadsheet, and title it Barcode.
  6. Add a formula on row 2 of the Barcode column that calls the function as a formula.
    For example, the following formula adds columns A and B to the barcode:
    =EncQR(A2&B2)
    The following formula adds columns A, B and C to the barcode and separates them with a comma delimiter:
    =EncQR(A2&","&B2&","&C2)
  7. Highlight the cell with the formula in it and choose Edit - Copy.
  8. Select the entire range of cells to paste this formula into the Barcode column and choose Edit - Paste.
  9. Follow the procedures in Word to add this spreadsheet as the data source the mail merge.
  10. Add the mail merge field of Barcode to place the barcode in the document.
  11. Highlight the «Barcode» merge field and select the IDAutomation2D font.
  12. After the mail-merge is performed, the barcodes should appear in the merged documents.
  13. A working example is provided in the Word Mail-Merge.doc file included with the install package.
Crystal Reports Integration

Limitations with Crystal Reports prior to Version 9:
The Crystal Reports UFL is designed to work with Crystal Reports 6.0 and above. However, because of a Crystal Reports limitation prior to Version 9, only limited information (up to about 30 to 40 characters) may be encoded; To overcome this limitation, version 9 or greater is required.

Crystal Reports version 9 (and later versions) overcome the 254 character limitation by using a formula that is able to retrieve the data encoded in 254 byte chunks. A simple example of creating a QR-Code barcode in Crystal is included in the Font and Encoder package. IDAutomation recommends referring to that example if problems are encountered.

How the Font and Encoder Works with Crystal Reports:

After installing the QR-Code Font and Encoder for Windows, the encoder functions will be available in Crystal Reports.

  1. The IDAutomationQRCodeEncoderQRSet function returns the number of data segments contained in the barcode and sets up the barcode for retrieval. All fields passed to the encoder set function must be text fields or they must be converted to text.
  2. The IDAutomationQRCodeEncoderQRGet function returns a string for the designated data segment. A correct barcode string is achieved when all data segments are combined.
  3. When the resulting string is combined with IDAutomation's 2D font, it will produce an QR-Code barcode.
How to Create an QR-Code Barcode in Crystal Reports:
  1. Choose View - Field Explorer. Select Formula Fields. Right click and select New. Enter a name to identify the formula created and choose OK.
  2. The Formula Editor should now appear.
    • Copy and paste the code below into the Formula Editor dialog box. The Crystal Reports Example.rpt file is provided in this package as an example, and may be referred to for troubleshooting purposes:
      stringVar DataToEncode:= {Table1.Field1};
      stringVar CompleteBarcodeString:="";
      numberVar i:=0;
      numberVar Segments:= IDAutomationQRCodeEncoderQRSet(DataToEncode,0 ,0 ,0 ,0 );
      For i:=0 to Segments Do
      (
      CompleteBarcodeString := CompleteBarcodeString + IDAutomationQRCodeEncoderQRGet(i);
      );
      CompleteBarcodeString
  3. Change the DataToEncode = section of the formula so it encodes fields from a database. Save the formula.
  4. The field where the barcode is to be placed on the report must allow multiple lines, because the formula draws the symbol line-by-line. Format the field so that all borders are removed; borders will usually cause scanning problems. Size the field so that it is large enough to contain the barcode.
  5. Choose File - Print Preview or the Preview tab. A series of many characters will be visible in the text field; this is normal.
  6. After the font of the field is changed to the QR-Code Font (IDAutomation2D) a correct symbol will be created.
Encoder Parameters:
Number of Segments = IDAutomationQRCodeEncoderQRSet (DataToEncode As String, ProcTilde As Integer = 0, EncMode As Integer = 0, Version As Integer = 0, ErrorCorrectionLevel As Integer = 0)

There are a number of ways to encode data in QR-Code symbols with Crystal, such as combining multiple fields in a single symbol. A common method is to enable ProcessTilde and use ~d009 for tab and ~d013 for a return. For example:

  • The following formula combines two fields in a single barcode and places a tab function between them:
    stringVar DataToEncode:= {Table1.DataField1} & "~d009" & {Table1.DataField2};
  • The formula below combines two fields with the date function:
    stringVar DataToEncode:= {Table1.DataField1} & "~d009" & {Table1.DataField2} & "~d013" & CurrentDate;

To verify QR-Code symbols, consider purchasing a Barcode Verifier or Hand-Held Imager. Refer to the Crystal Reports documentation for additional information about creating reports with formulas.

Microsoft .NET Integration

Implementation of QR-Code in .NET applications may be accomplished with graphic or font encoders. Integration into ASP.NET and other web applications is best implemented as a graphic encoder with the ASP.NET Server Control provided in the Advantage Package. Information about printing from the .NET Forms Control without using the font is provided in the .NET Forms Control Manual.

.NET Font Encoder Example:

The following example uses the font encoder to obtain the text data, that when printed with the IDAutomation2D font, will create a correct symbol:

  1. In a .NET project, add a reference to the DLL and place the import statement in the declarations section of the project:
        Imports IDAutomation.Windows.Forms.QRCodeBarcode
     
  2. Obtain the string of data, that when printed with the IDAutomation2D font, will create a correct symbol:
    Dim NewBarcode As New QRCodeBarcode
    TextBox2.Text = NewBarcode.FontEncode(TextBox1.Text, True, QRCodeBarcode.EncodingModes.Byte, QRCodeBarcode.Versions.AUTO, QRCodeBarcode.ErrorCorrectionLevels.M)
Using the Windows DLL Font Encoder

Install the Font and Encoder for Windows by running the EXE file provided in the package. Upon execution, it installs TrueType fonts, implementation examples and registers the COM DLL. After the DLL is installed and registered, it may be accessed by any application that can retrieve a text string or graphic object from a COM DLL.

The FontEncode function is used to convert the data to encode into a string, that when combined with the 2D font, will create a correct barcode. The following is Visual Basic 6 code that places the result in the "PrintableBarcodeString" variable:

 'Initialize COM DLL
Dim QRFontEncoder As QRCodeFontEncoder
Set QRFontEncoder = New QRCodeFontEncoder
QRFontEncoder.FontEncode DataToEncode, ProcTilde, EncodingMode, Version, ErrorCorrectionLevel, Result
PrintableBarcodeString = Result

A Visual Basic project example is included with the package. These files are placed in the destination directory upon installation.

Java Class Integration

The Java class file was compiled with the Sun JDK 1.3 and is compatible with Windows, MAC, Unix, Linux and any other systems supporting Java. Copy the IDAutomation_JavaFontEncoder_QRCode.jar file from the "Java Class Encoder" folder to the system's classpath. Consult the Java documentation or the company that provides the Java virtual machine for assistance.

Integrate the FontEncode Method:
After the directories are copied to the classpath root, the method to format data to the font can then be called from a method in a Java application as in this example:

import java.io.*;
import com.idautomation.fontencoder.qrcode.*;
class QRCodeBarcodeExample
{
  public static void main ( String [] args )
  {
     String dataToEncode = "QRCode Test";
     QRCodeEncoder qre=new QRCodeEncoder();
     String DataToEncode = "IDAutmation Inc.";
     boolean ApplyTilde = false;
     int EncodingMode = 0;
     int Version = 0;
     int ErrorCorrectionLevel = 0;
     System.out.println( qre.FontEncode(DataToEncode, ApplyTilde, EncodingMode, Version, ErrorCorrectionLevel) );
  }
}

The data string returned by the fontEncode method will create a proper symbol when printed with the 2D font. To install the font on an operating system, consult the OS documentation or follow IDAutomation's font installation procedures.

Support

Common Support Issues:

The following common issues are links to the appropriate section of the Data Matrix Encoder manual because the resolutions are the same:

If it is necessary to verify the printed symbols, consider purchasing a verifier or hand-held scanner.

Font and Encoder Specifications:

The IDAutomation2D Font is used in this package to create QR-Code symbols and is included in several formats including TrueType, PostScript, OpenType and PCL. The IDAutomation2D font should be printed at 8 points unless it is necessary to create a larger or smaller symbol. The IDAutomation2D Font is a "universal" 2D font that may also be used with the Data Matrix Encoder, PDF417 Encoder and the QR Code Encoder.

Font Point Size:

Approximate X dimensions for QR-Code Font

14 .122 CM 48 MILS
12 .105 CM 41 MILS
10 .086 CM 33 MILS
8 .061 CM 24 MILS
6 .052 CM 20 MILS
4 .031 CM 13 MILS
3 .026 CM 10 MILS
2 .017 CM 6 MILS

When ProcessTilde is equal to "1" (the default is "0") the following tilde options are available:

  • ~dNNN: Represents the ASCII character encoded by the 3 digits NNN. For example, ~d009 represents a tab, ~d013 represents  a return and ~d065 represents the character 'A'.

  • ~1: Represents the character FNC1. When FNC1 appears in the first position (or in the fifth position of the first symbol of a Structured Append), it indicates that the data conforms to the UCC/EAN Application Identifier standard format.

Symbol Version:

The symbol version is the size of the symbol from (1) 21x21 to (20) 177x177. Zero is the automatic selection and the default. If the symbol needs to be larger than the selection, the component automatically overrides this value.

 

© Copyright 2008-2009 IDAutomation.com, Inc., All Rights Reserved. QR-code is trademarked by Denso Wave, Inc.
Legal Notices

Over 70% of Fortune 100 companies use IDAutomation's products to automate their businesses.