Crystal Reports Barcode Font UFL
-
Easily
create barcodes in Crystal Reports.
- Compatible with Crystal 7 and up.
- Enables easy Change To Barcode
functionality.
- Supports Visual Studio .NET.
- Supports many linear barcode types including Code-128, GS1-128,
DataBar, Code-39, Interleaved 2 of 5, Code-93, UPC, EAN, Postnet
and Intelligent Mail.
- Supports double-byte language settings when used with the
Universal
Barcode Font or the
DataBar Font.
- Compatible with Windows 95 and greater, including 32 bit and
64 bit versions of Windows Vista and Windows Server 2008.
- Royalty-free with the purchase of any license to one of IDAutomation's
barcode fonts.
Function List | Support
| Native Generator
|
Font Formulas | Integration
Guide |
Barcode Fonts
Crystal Reports Barcode UFL Tutorial
| “This
is easily the best software I’ve found for barcode printing
in Crystal by a long way -- I must have downloaded 6 or
7 other fonts and packages, but none are as easy to use
as this.” Michael Ainley, IT Manager, UK |
The Crystal Reports Barcode UFL is one of the easiest
product to use when creating barcodes in reports. However, if reports
are to be distributed, IDAutomation recommends the
Native Crystal
Reports Barcode Generator, which allows embedded distribution without
any required fonts, UFLs or plug-ins.
This UFL supports many linear barcode types including
Code-128, GS1-128, Code-39, Interleaved 2 of 5, Code-93, UPC, EAN,
DataBar, Postnet
and Intelligent Mail. Advanced 2D barcodes such as
Aztec,
DataMatrix,
PDF417,
Maxicode and
QR-Code must
use the UFL supplied with that product.
New functionality introduced in Crystal Reports version
12 makes it easy to turn fields into barcodes. When using Crystal versions
below 12, the standard UFL tutorial
must be followed.
- Install the appropriate
barcode fonts.
If in doubt about which font to use, IDAutomation recommends the
Universal
Barcode Font for the Code 128 barcode.
- Download and install the latest version of
IDAutomation's Crystal Reports UFL. Only the latest version
released in March 2008 is compatible with the new "change to barcode"
functionality introduced in Crystal Reports 12.
- Add a field to the report that contains only the data that is
to be encoded in the barcode. If necessary, a
formula field may be created
to append text or concatenate fields.
- Select the Preview tab (or File - Print Preview) to ensure
the correct data appears in the field.
- Right-click on this field, choose "Change To Barcode" and select
from the list of installed barcode fonts, the type of barcode to
create.

- The barcode should be instantly created in the report. To create
a text interpretation, simply add the same field to the report again
and position it below the barcode as necessary.
- Print one page of the report and test with a barcode scanner.
IDAutomation suggests testing with the
IDAutomation USB Barcode Scanner, which scans all popular linear,
GS1 DataBar and PDF417 barcodes. When 2D Data Matrix, QR Code, Aztec
or Intelligent Mail symbols need to be verified, IDAutomation suggests
the
IDAutomation
2D Barcode Scanner with PQA.
- Install the appropriate
barcode fonts.
If there is a doubt as to which font to use, IDAutomation recommends
the Code 128
Barcode Font Advantage Package.
When using Code 128 or Interleaved
2 of 5, if the character set is not US English, 1252 Latin-1, 1250
European, 1251 Cyrillic, 1253 Greek, 1254 Turkish, 1255 Hebrew or
1256 Arabic, the
Universal
Barcode Font Advantage™ must be used. This example uses the
Code 128 Barcode
Font Advantage Package. Some font packages also include
Font Formulas, which allow the font formatting routines to be
embedded in a report without the need for a UFL.
-
Download IDAutomation's Crystal Reports UFL and install it.
After installing the UFL, the barcode functions should show up under
Additional Functions in the formula editor. For backward compatibility
with formulas of previous reports, IDAutomation also provides the
previously released COM based Crystal UFL. If the earlier version
of the UFL is used, refer to the documentation in that package.
- Choose the Design tab to enter the design mode of the
report.
- Open the Field Explorer. In version 9, choose View
- Field Explorer. In versions prior
to 9, choose Insert - Formula Field.
- Right click on Formula Fields and select New.
- In the Formula Name dialog box, enter a name to identify
the formula field. This can be any name, for example, "Code128Barcode."
In this example, the formula is simply named "Barcode."

- Click OK and select Use Editor if asked. The
Formula Editor should now be open.
- In the Functions Column, expand Additional Functions
and expand the IDAutomation section. From the list provided,
choose the appropriate function. When
creating DataBar Expanded Stacked
symbols, a formula is used
instead of a function. If the IDAutomation functions do not show
up in the Additional Functions section after installing the UFL,
copy the U25IDAutomation.dll file from the Windows System directory
(for example C:\Windows\System32) to the directory where the Crystal
DLLs are located. In Crystal 11, the file may be copied to C:\Program
Files\Common Files\Business Objects\3.0\bin; in Crystal 10 and previous
versions, the file may be copied to %Windows%\Crystal where
%Windows% is the directory where
Windows is installed.
- Make sure the function utilized
matches the font listed in the "font to
use" column. As an example, only use the
IDAutomation_Code128() function
with the IDAutomationC128
Font.
- With the cursor in between the parentheses of the function,
select the data field that is to be encoded. Data fields used in
this formula must be formatted as text. If the data fields are not
text, use ToText
or cStr for conversion. The syntax
of the formula should look similar to the formula below which formats
Field1 of Table1 to a Code 128 barcode font.
IDAutomation_Code128 ({Table1.Field1})
or IDAutomation_Code128
(cStr( {Table1.Field1},0
) )
- Choose Save and then Close.
If an error such as "A string is required" appears, convert the
data to a string with the cStr function. For example:
IDAutomation_Code128
(cStr( {Customers.CustNum},0 ) )
- To include a text interpretation of what is being encoded below
the barcode; it is recommended to create an additional formula.
In this example, the formula is named BarcodeHR to return
the "human readable" text for Table1.Field1:
{Table1.Field1}
When creating
GS1-128 (UCC/EAN) barcodes which require specific text interpretations,
the appropriate HR function may be used for that purpose. For example,
to display the text for a GS1-128 barcode, BarcodeHR is created
with a different formula to return the formatted text from Table1.Field1:
IDAutomation_Code128HumanReadable ({Table1.Field1})
- Return to the Field Explorer dialog box.
- Click on the formula field and drag it onto the report.

- Now that the fields have been created in the Crystal Report,
choose the Preview tab to make sure the data is being retrieved
from the fields and properly formatted to the barcode font. Strange
characters will append to the beginning and ending of the data from
the fields, which are required for the start and stop characters
in the barcode. Additional formatting may also be necessary that
scrambles the data; this is normal for
Code 128,
Interleaved
2 of 5 and all functions in the
Universal
Barcode Font and
DataBar Font.
The graphic below in this tutorial shows the first field produced
by the @Barcode formula and the second produced by the
@BarcodeHR formula.

- Choose the Design tab again and size the barcode formula
field to display the appropriate barcode font in the report.
- Change the font of the formula field to be the appropriate
barcode font and set the point size to 12 points or another
appropriate size. Ensure the formula used
matches the font listed in the "font to
use" column. This is a very important step; if this is not correct,
barcodes will not be properly created.
NOTE: When selecting the font from the pull down menu,
please do not use the fonts that begin with the
"@" Symbol.
Instead, scroll down in the list and select fonts that begin with
"IDAutomation”.
- Select the Preview tab (or File - Print Preview) to view
the barcodes in the report. Print one page of the report and test
with a scanner. IDAutomation suggests testing with the easy-to-use
IDAutomation USB Barcode Scanner, which scans all popular linear,
GS1 DataBar and PDF417 barcodes. When 2D Data Matrix, QR Code, Aztec
or Intelligent Mail symbols need to be verified, IDAutomation suggests
the
IDAutomation
2D Barcode Scanner.

Functions may be easily modified with formulas to combine multiple
fields or append text in a single barcode, as demonstrated in the following
examples:
- The following formula appends the text "ECC200", combines two
fields in a single barcode and places a tab function (which is ASCII
009) between them:
IDAutomation_Code128ApplyTilde ( "ECC200"
& {Table1.DataField1} & "~009" & {Table1.UPC})
- This formula add in the
GS1-128 Application Identifier (~202) and calculates a MOD 10
check digit.
IDAutomation_Code128ApplyTilde ("~202" & {Table1.DataField1}
& "~m19" )
Many of IDAutomation's font packages include
Font Formulas, which allow font formatting routines to be embedded
in a report without the need for a UFL. These formulas are saved as
part of the report file (.rpt) and do not have any external dependencies
(with the exception of the required barcode font). When distributing
reports, IDAutomation suggests using this method or implementation of
the Native
Barcode Generator for Crystal Reports, which creates dynamic
embedded barcodes without fonts.
Distributing UFL & Fonts with
Crystal Runtime Files
If the report is being distributed, it is recommended that
IDAutomation's
Native Barcode Generator be considered which allows for distribution
of a Crystal report without the need for any additional fonts, UFLs
or plug-ins. Additionally, IDAutomation Formulas
for Crystal Reports only require the applicable barcode font to
be installed.
IDAutomation's UFL is free to use and distribute with the application
if one of IDAutomation's licensed barcode fonts has been purchased.
The following is a list of runtime files that should be distributed
with the application:
Crystal Reports UFL Files to Distribute
(IDAutomation recommends using an
advanced
installation application to distribute files for Windows) |
|
Purpose of File |
File to Distribute |
Notes |
| Font File(s) |
???.ttf |
The TrueType
barcode fonts. Font files may be distributed only if a Developer
License has been purchased. |
| Crystal UFL |
U25IDAutomation.dll |
The
IDAutomation
Crystal UFL. It should be installed in the Windows System
directory (for example C:\Windows\System32). |
The functions listed below are all available in
IDAutomation's UFL download and are only valid when used with the
barcode font listed in the "font to use" column. The data input type
for all functions is a string.
|
Functions for Standard Barcode
Fonts |
|
Barcode Type |
Functions
(Follow links for more
information) |
Font to use |
|
Code-11 |
IDAutomation_Code11
(DataToEncode) |
IDAutomationC11 |
|
Code-128 |
IDAutomation_Code128 (DataToEncode)
Recommended for general bar-coding purposes. |
IDAutomationC128 |
Additional Code 128 Functions:
IDAutomation_Code128ApplyTilde (DataToEncode)
IDAutomation_Code128ApplyTilde() applies
Code 128 tilde processing to the barcode and is used to
create
GS1-128 or encode
functions.
IDAutomation_Code128A (DataToEncode)
IDAutomation_Code128B (DataToEncode)
IDAutomation_Code128C (DataToEncode) |
IDAutomationC128 |
IDAutomation_Code128HumanReadableTilde (DataToEncode)
This method returns the human readable text for Code 128
barcodes, such as with GS1-128. |
Text Font |
| Code-39 |
IDAutomation_Code39
(DataToEncode)
IDAutomation_Code39Mod43 (DataToEncode) |
IDAutomationC39 |
|
Code-93 |
IDAutomation_Code93
(DataToEncode) |
IDAutomationC93 |
|
Codabar |
IDAutomation_Codabar
(DataToEncode) |
IDAutomationCB |
| EAN-13 |
IDAutomation_EAN13
(DataToEncode) |
IDAutomationUPCEAN |
| EAN-8 |
IDAutomation_EAN8
(DataToEncode) |
IDAutomationUPCEAN |
| Interleaved
2 of 5 |
IDAutomation_I2of5 (DataToEncode)
IDAutomation_I2of5Mod10 (DataToEncode) |
IDAutomationI25 |
| MSI
/ Plessey |
IDAutomation_MSI
(DataToEncode) |
IDAutomationMSI |
| UPC-A |
IDAutomation_UPCa
(DataToEncode) |
IDAutomationUPCEAN |
| UPC-E |
IDAutomation_UPCe
(DataToEncode) |
IDAutomationUPCEAN |
|
USPS IntelligentMail |
IDAutomation_IntelligentMail (DataToEncode) |
IDAutomationPOSTNET
or IDAutomation_Uni |
|
USPS Postnet |
IDAutomation_Postnet (DataToEncode) |
IDAutomationPOSTNET |
|
USPS Planet |
IDAutomation_Postnet (DataToEncode) |
IDAutomationPOSTNET |
| not applicable |
IDAutomation_Mod10
(DataToEncode) |
not applicable |
|
Universal Barcode Font Functions |
| The
functions listed below
are preceded with IDAutomation_Uni_
and are to be used with the
IDAutomation
Universal Barcode Font Advantage™ or the
IDAutomation
DataBar Font. |
|
Barcode Type |
Functions
(Follow links for more information) |
Font to use |
|
Code-128 |
IDAutomation_Uni_C128 (DataToEncode)
C128() is recommended for general bar-coding purposes.
|
IDAutomation_Uni
or IDAutomation
DataBar |
Additional Code 128 Functions:
IDAutomation_Uni_C128ApplyTilde (DataToEncode)
IDAutomation_Uni_C128ApplyTilde() applies
Code 128 tilde processing and is used to create
GS1-128 or encode
functions.
IDAutomation_Uni_C128A (DataToEncode)
IDAutomation_Uni_C128B (DataToEncode)
IDAutomation_Uni_C128C (DataToEncode) |
IDAutomation_Uni
or IDAutomation
DataBar |
IDAutomation_Code128HumanReadableTilde (DataToEncode)
This method returns the human readable text for Code 128
barcodes, such as with GS1-128. |
Text Font |
| Code-39 |
IDAutomation_Uni_C39
(DataToEncode,
N_Dimension,
IncludeCheckDigit)
Example: IDAutomation_Uni_C39
("12345678",3,TRUE ) |
IDAutomation_Uni
or IDAutomation
DataBar |
|
Codabar |
IDAutomation_Uni_Codabar
(DataToEncode,
N_Dimension, StartChar, StopChar)
Example: IDAutomation_Uni_Codabar
("12345678",2,A,B ) |
IDAutomation_Uni
or IDAutomation
DataBar |
| Interleaved
2 of 5 |
IDAutomation_Uni_I2of5 (DataToEncode,
N_Dimension,
IncludeCheckDigit)
Example: IDAutomation_Uni_I2of5
("12345678",2,FALSE ) |
IDAutomation_Uni
or IDAutomation
DataBar |
| MSI
/ Plessey |
IDAutomation_Uni_MSI
(DataToEncode,
N_Dimension,
IncludeCheckDigit) |
IDAutomation_Uni
or IDAutomation
DataBar |
|
USPS IntelligentMail |
IDAutomation_IntelligentMail (DataToEncode) |
IDAutomation_Uni
only |
|
USPS Postnet |
IDAutomation_Uni_Postnet (DataToEncode,
IncludeCheckDigit) |
IDAutomation_Uni
only |
|
USPS Planet |
IDAutomation_Uni_Planet (DataToEncode,
IncludeCheckDigit) |
IDAutomation_Uni
only |
|
DataBar Functions |
| The
methods listed below
are preceded with IDAutomation_DataBar_
and are only to be used with the
IDAutomation
GS1 DataBar Font. |
|
Barcode Type |
Functions
(Follow links for more information) |
Font to use |
|
DataBar |
IDAutomation_DataBar (DataToEncode) |
IDAutomation
DataBar 34 |
|
DataBar Expanded |
IDAutomation_DataBarExpanded (DataToEncode) |
IDAutomation
DataBar 34 |
|
DataBar Expanded Stacked |
DataBar Expanded Stacked requires a
custom formula field
to be copied from the sample report provided. |
IDAutomation
DataBar 34 |
|
DataBar Limited |
IDAutomation_DataBarLimited (DataToEncode) |
IDAutomation
DataBar 13 |
|
DataBar Stacked |
IDAutomation_DataBarStacked (DataToEncode) |
IDAutomation
DataBar 13 |
|
DataBar Stacked Omnidirectional |
IDAutomation_DataBarStackedOmniDirectional (DataToEncode) |
IDAutomation
DataBar 34 |
|
DataBar Truncated |
IDAutomation_DataBar (DataToEncode) |
IDAutomation
DataBar 13 |
Function Property Descriptions:
- DataToEncode - a string value
that represents the data being encoded.
- N_Dimension - determines the
width of the wide bars that is a multiple of the X dimension. Valid
values are 2, 2.5 and 3. The default is 2. The X dimension is determined
by the font point size.
- IncludeCheckDigit - a
Boolean value that determines whether a check digit should be automatically
calculated and included for the DataToEncode.
- ApplyTilde -
when ApplyTilde is set to "1" in Code 128 with the Auto character
set, the format ~ddd may be used to specify the ASCII code of the
character to be encoded and
several other tilde options are enabled.
This procedure inserts a formula field for
DataBar Expanded Stacked symbols and is compatible with Crystal
Reports version 9 and up. This is a necessary step to ensure that
DataBar Expanded Stacked symbols are created properly in Crystal
Reports.
- Install the package and open the Crystal Report example provided.
- Choose View - Design to switch to design mode.
- Highlight the
@IDAutomation_DataBarExpandedStacked field and choose Edit -
Copy.
- Open the report the barcode is needed for and choose Edit -
Paste to paste the field where it is desired.
- Highlight the field and choose Edit - Edit Formula.
- Modify the "DataToEncode:="
line of the formula to equal the data that is to be encoded
in the barcode.
- Change the "Segments:= 4;"
line of the formula to equal the number of
segments needed.
The complete formula should look something like the following:
stringVar DataToEncode:= {Table1.DataField1};
numberVar Segments:= 6;
stringVar CompleteBarcodeString:="";
numberVar i:=0;
numberVar DataSegments:= ToNumber (IDAutomation_DataBarExpandedStackedSet(DataToEncode,Segments));
For i:=1 to DataSegments Do
(
CompleteBarcodeString := CompleteBarcodeString + IDAutomation_DataBarExpandedStackedGet(DataToEncode,Segments,i);
);
CompleteBarcodeString
- Continue implementation and testing with Step
11 of the tutorial.
Free product support may be obtained by reviewing articles
that are documented at the
IDAutomation's
Barcode Font Support Site and by searching the resolved
public
help desk issues.
Priority
phone, email and help desk support is also provided up to 30 days
after purchase. Additional
priority
phone, email and help desk support may be obtained if the
Priority Support
and Upgrade Subscription is active. For assistance with other Crystal
reports issues refer to
Crystal Reports Support
Site.
Common Issues & Notices:
Advanced DataBar and 2D Integration Links:
Related Information:
Overview of Crystal Barcoding Options:

© Copyright 2010 IDAutomation.com, Inc., All Rights Reserved.
Legal Notices. |
|
|
|
|