QR-Code Font and Encoder User Manual
QR Code Font and Encoder Implementation Tutorials

In the event the
QR
font 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.
Extract the files provided with the product and run the installation
executable. The .exe will install the files needed in
the application folder under Program Files with the following components:
-
QR-Code Generator Application provides an
easy method for users to create QR-Code barcodes and print or paste
them into other applications.
-
Universal 2D fonts used to create QR-Code symbols in addition to other 2D
barcodes.
- Crystal Reports UFL allows barcode
generation in Crystal Reports versions 9 and above.
- Windows DLLs are used as the font encoder
library all Windows applications, and are installed in the Systems folder. The DLLs are registered by the installation
program using RegAsm.exe for COM Interop.
- VBA Module may be used
in VB, Excel or Access to generate QR Codes.
- VB 6 Source Code
used to create the
QR-Code Encoder for Windows is also supplied.
- Microsoft Office Examples are provided
for Word mail-merge and
Access.
If verifying the accuracy of QR-Code barcodes, consider purchasing a
QR Code Barcode Image Reader.
The VBA module is required when using the
font encoders in VB 6, Excel or Access. The IDAutomation_QRCodeVBA.bas
module creates QR Codes quickly by using the already installed ActiveX DLL
for the font encoder functionality.
Importing the VBA Module
- Extract the files provided with the product.
- Open VB, Excel or Access.
- If Excel or Access is being used, select Tools - Macro - Visual
Basic Editor to open the VB editor.
- Run the installation executable in the package, then go to Tools
- References and select IDAutomation QRCode
Barcode, click OK.
- Choose File - Import File and select the module to import
from the VBA folder of the extracted files.
- If Excel or Access is being used, choose File - Close to close the VB
editor and then select File - Save.
- 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) |
There are two implementation options for Microsoft Access, both
of which are supported in the
IDAutomation QR-Code Barcode Font
& Encoder Package. When used in reports and forms, the graphic encoder
option may be the easiest option to use.
Graphic Encoder Implementation
- Run the installation executable in the package and follow
the instructions to complete the installation.
- Open a report in Design Mode.
- Select Insert - ActiveX Control and choose the IDAutomation QR-Code control.
- Move and size the control as necessary. To change the
properties
of the control such as height and symbology type, right-click
on the control and choose Properties.
- To bind the control to a data source, enter the table and
field or formula in the control source field. The proper barcode
will show up after the report is saved and executed.
- Additional implementation information is provided in the
ActiveX Control Manual.
Font Encoder Implementation
- Run the installation executable file in the package and follow the
instructions to complete the installation.
- Import the VBA module into the
database.
- Open a report in Design Mode.
- Add a text field to the report and size it
large enough to contain the entire symbol. Change the font point size of the
field to 8 points.
- 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])
- 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.
- Open the report in design mode and select the IDAutomation2D font
for the text field. The recommended point
size is 8 points.
- Save the report and run it; a correct symbol should appear in the
text field.
QR-Code barcodes may be created in a Word mail-merge if Excel is used
as the data source with the following procedure:
- Extract the files provided with the product.
- Run the installation executable in the package to install the IDAutomation2D font.
- Import the VBA module into the
Excel spreadsheet that will be used as the data source.
- 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.
- Select a blank column on row 1, to the right of the last populated
column in the spreadsheet, and title it Barcode.
- 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)
- Highlight the cell with the formula in it and choose Edit
- Copy.
- Select the entire range of cells to paste this formula into the
Barcode column and choose Edit - Paste.
- Follow the procedures in Word to add this spreadsheet as the data
source the mail merge.
- Add the mail merge field of Barcode to place the barcode
in the document.
- Highlight the «Barcode» merge field and select the IDAutomation2D
font.
- After the mail-merge is performed, the barcodes should appear in
the merged documents.
- A working example is provided in the Word
Mail-Merge.doc file included with the install package.
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 are able to 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. Please refer
to that example if problems are encountered.
How the QR Code 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.
- 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.
- The IDAutomationQRCodeEncoderQRGet
function returns a string for the designated data segment. A correct
barcode string is achieved when all data segments are combined.
- When the resulting string is combined with IDAutomation's 2D font,
it will produce a QR-Code barcode.
How to Create a QR-Code Barcode in Crystal Reports
- Choose View - Field Explorer. Select Formula Fields. Right click
and select New. Enter a name to identify the formula created and choose
OK.
- 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
- Change the DataToEncode = section of
the formula so it encodes fields from a database and save the formula.
-
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.
-
Choose File - Print Preview or the Preview tab. A series of many
characters will be visible in the text field, which is normal.
-
After the font of the field is changed to the QR-Code Font (IDAutomation2D) an
accurate QR Code will be created.
There are a number of ways to encode data in QR-Codes 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:
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 QR Code Font Encoder Example
- The following example uses the font encoder to create the text string
that will generate an accurate QR Code barcode when printed with the
Universal 2D
barcode font:
- 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
- Acquire the special text string that will generate a readable QR Code when
combined with the IDAutomation2D
font:
Dim NewBarcode As New QRCodeBarcode
TextBox2.Text = NewBarcode.FontEncode(TextBox1.Text, True, QRCodeBarcode.EncodingModes.Byte,
QRCodeBarcode.Versions.AUTO, QRCodeBarcode.ErrorCorrectionLevels.M)
Install the Font and Encoder for Windows by running the .exe file
provided in the package to install TrueType fonts, implementation
examples and register 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 will generate a QR barcode when combined with the 2D font.
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.
Generating QR Codes with 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
QR Code 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.
The C++ header file may be provided upon request with the purchase
of an Unlimited Developer License and a signed Source Code
Agreement. The header file is unobfuscated C++ source code that makes
use of character vectors. It was compiled and tested with Visual Studio
2005 and does not contain any OS-specific code. The QRCodeFontEncoder class
may be used to return an encoded string, that the IDAutomation 2D font can
be applied to, in order to create QR-Code barcodes. This class also contains
several properties and enumerations
that adjust the resulting symbol size and encoding method. Following is a
C++ Implementation example:
#include <string>
#include <iostream>
#include <math.h>
#include <fstream>
#include "IDAutomationQRCode.h"
int main ()
{
QRCodeFontEncoder QR;
QR.ApplyTilde = true;
QR.ErrorCorrectionLevel = QR.ECL_M;
QR.EncodingMode = QR.Enc_Byte;
QR.Version = QR.V_07;
QR.DataToEncode = "IDAutomation.com";
printf(QR.FontEncode().c_str());
}
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 be used with encoders for Data
Matrix,
PDF417 and
QR Code.
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 |
Available Tilde Options when ProcessTilde is equal to
1
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.
QR Font and Encoder Packages 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 verifying generated QR Code barcodes, consider purchasing a quality
QR Code Barcode Scanner.
Back to Top
|