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
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 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 |
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 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 4600G 2D
Imager 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
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
(ToText( {Table1.Field1}
) )
- Choose Save and then Close. If
an error such as "A string is required" appears, convert the data to
text with the ToText function. For example:
IDAutomation_Code128
(ToText( {Customers.CustNum} ) )
- 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 4600G Hand
Held Products Imager.

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.
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 2000-2009 IDAutomation.com, Inc., All Rights
Reserved.
Legal Notices.
|
Over 70% of Fortune 100
companies use IDAutomation's products to automate their businesses.
|
|