Home >
Barcode Components
>
Native Barcode for Crystal Reports > User Manual
Native Crystal Reports User Manual
NOTE: This product supports Crystal version 9 and later. Refer to
the Crystal Integration
Guide for products that support earlier versions.
If printing to a thermal printer, results may not be as expected and the
Barcode
Fonts should be used instead.

Reports containing this object may only be distributed
outside the licensed organization with the purchase of a Developer License
to the Native Barcode Generator.
Product Overview
The Native Barcode Generator is an object that may be easily inserted
into a Crystal Report to create barcode images. Once installed in a
report, no other components or fonts need to be installed to create
barcodes; it is the complete barcode generator that stays with the report,
even when distributed. *
Supported Barcode Symbologies:
Barcode Integration Tutorial
Installing the Native Barcode Generator is a fairly simple process.
Several generators are created for different barcode types.
- Extract the files from the Native Barcode Generator package.
- Several generators are created for different barcode types.
Open the report that represents the barcode type that is needed.

If in doubt, IDAutomation recommends choosing Code 128 Auto, which
is in the file named IDAutomation
Native - Code 128 Auto.rpt.
- Choose View - Design to switch to design mode and locate the
Native Barcode Generator object within the details section of the report.

The object is the field in
the details area that contains very small text.
- Highlight the Native Barcode Generator object and choose Edit
- Copy

or Right-Click on the object and select Copy.

- Open the report the barcode is needed for and choose Edit -
Paste to paste the Native Barcode Generator object where it is desired.
- When using Code 128 and
GS1-128 (UCC/EAN-128), the text object just below the Native
Barcode Generator object should also be copied, if it is desired
to have the text interpretation appear below the barcode.

- Highlight the object and choose Edit - Edit Formula.

- Modify the "DataToEncode ="
line of the formula to equal the data that is to be encoded in the
barcode.

If an error such as "A string is required" appears, the data
will need to be converted to a string with a crystal function. For
example: DataToEncode = cStr( {Table1_.FloatValueField},0
)
- Optionally, parameters below the "DataToEncode
=" line of the formula may be changed as necessary.
- For linear barcodes only, when changing the "BarHeight =" variable, the size of the
object must also be increased so that taller barcodes may be
contained. The approximate height is determined by the following
formula:
Height in Inches
= (Font Size) * (BarHeight) * 0.015
Height in CM
= (Font Size) * (BarHeight) * 0.04
For example, the
default BarHeight of 8 equals about 0.3 inches and 1 centimeter.
- If it is necessary to change the X dimension or barcode width,
highlight the object and change the font point size. The point size
must be small, generally 3 or 4 points. Because the drop down box
does not contain these small sizes, they must be manually typed
in. The font selected for the object must be "Courier New" or another
mono-spaced Unicode font.
Point Size
|
Approximate
X Dimension
|
2 |
08 Mils (.02cm) |
3 |
12 Mils (.03cm) |
4 |
16 Mils (.04cm) |
5 |
20 Mils (.05cm) |
6 |
24 Mils (.06cm) |
7 |
28 Mils (.07cm) |
8 |
32 Mils (.08cm) |
- Run the report to verify barcodes are being properly created.
Ensure the object has been sized properly to contain the entire
barcode. If the width of the symbol is larger than the object, white lines and a
distorted symbol will appear.

- Print the report to verify that the barcodes are created properly
and that they can be scanned with a scanner. If a scanner is needed
to verify barcodes, IDAutomation offers several
affordable, barcode
scanner kits including
plug-and-play
USB scanners.
- It is normal to view some distortion of the symbol on the screen
because of low screen resolution. However, the barcodes will be
accurate when printed.

Parameters
Each symbology has its own .rpt code example included in the
licensed download zip file. This code should be copied and pasted
into the Formula Editor and then modified as needed. Below is a list of the symbologies and the parameters associated:
-
DataToEncode a string of data to
encode.
-
BarHeight a numerical value
that defines the height of the bars
in .015 inch increments.
-
IncludeCheckDigit
a True or False value that determines if a check digit will
be calculated and included in the barcode.
-
N_Dimension
the difference between narrow
and wide bars. The default is 2.
-
Segs is the number of segments in DataBar Expanded. A
low even number such as 4 or 6 will stack the symbol.
-
CodabarStart
&
CodabarStop
uses letters A, B C or D for start and stop codes.
-
ApplyTilde
when True, encodes functions with the ~ character:
- FNC1 characters may be included
with "~202" for Code-128 and with
"~1" for Data Matrix or QR Code.
- ASCII Functions may be encoded with
~??? in Code-128 and PDF417 or with
~d??? in Data Matrix
and QR Code where ??? is a three digit ASCII code.
- MOD Calculations may be performed where
??? is the number of digits before the tilde to include in the calculation:
- ~m?? calculates a MOD10 check character, commonly
used for GS1.
Example: ~2020000801234999999999~m17
Encodes: (00) 008012349999999997
- ~f?? calculates a MOD43 check character, commonly
used for HIBC.
Example: +A123BJC5D6E71~f14
Encodes: +A123BJC5D6E71G
- ~k?? calculates the MOD37-2 check character in
brackets for the HRI object, commonly used for
ISBT manual entry. This option will not
encode the check character within the barcode.
Example:
G123412654321~k13
Encodes: G123412654321 [L]
- HRI Options - The HRI object may be
used with all ApplyTilde options
to display GS1 element strings or format text for HIBC or
ISBT.
Examples:
GS1-128
encoding:
~20201095011010209171719050810ABCD1234

GS1-DataMatrix encoding:
~101095011010209171719050810ABCD1234

2D Specific:
-
processTilde
encodes functions with ~d character.
-
PreferredFormat generates the symbol size
as defined by the corresponding number as outlined in the rpt
file.
-
EncodingMode is the encoding mode (ASCII,
BASE256, TEXT, C40).
- E_BASE256 = 0
- E_C40 = 1
- E_TEXT = 2
- E_ASCII = 3
-
EccLevel
is the Error Correction Level.
-
ColumnSpecify
is the amount of columns for PDF417.
-
RowSpecify
is the amount of rows for PDF417.
-
PDFTruncate
is the truncate PDF417.
Technical Support
Free product support may be obtained by reviewing the knowledgebase articles
that are documented below and by searching resolved
public forum threads.
Priority phone, email and forum support is also provided within 30 days of purchase.
Additional phone, email and forum support is provided with an active
Priority Support
and Upgrade Subscription.
Popular Forum Post Resolutions:
Common Problems and Solutions:
- If scanning problems are encountered, verify a printer
of 600 DPI or greater is being utilized. A large point size
such as 5 points must be used with low resolution printers.
IDAutomation also offers many barcode fonts that
print well to low resolution printers.
- Ensure the barcode can fit in the object. If the width
of the barcode is larger than the object, several white
lines will appear.

- The font selected for the object should be "Consolas", "Courier
New," "Lucida Console" or other mono-spaced Unicode font.

A proportional font may also be used for some linear barcode
types, however it is not recommended. If a proportional
font is used, change MonoSpaceFont = True to MonoSpaceFont
= False in the formula.
The font may be adjusted with more precision, such as with the
USPS Intelligent Mail Barcode, within the Format Editor - Font dialog. In
most versions of Crystal Reports, this dialog is opened by right clicking on the
field and choosing the Format Field option.

- If several small question marks appear instead of a
barcode when creating a PDF for performing other conversions
of the report, it is an indication that the component performing
the conversion is not
Unicode compliant. In this situation, contact the component
vendor to obtain an updated or
Unicode compliant
version.
- In the event white lines appear in the barcode, highlight
the object and choose Format - Field - Paragraph. Adjust
the line spacing to the largest size that eliminates white
lines in the symbol. Generally, the setting of 0.8 to 0.95
is used for the "Courier New" font.

- If a 2D DataMatrix or QRCode symbol is not an accurate square, try using the mono-spaced font
"Consolas", a default font on a Windows machine and set the line spacing
under the Paragraph tab at .95 or .99 times normal.

- To remove line spacing in the image of the Data Matrix on the screen,
try using the mono-spaced font "Consolas" and set the line spacing at .99
times normal.
- The Data Matrix and PDF417 Generators provided in the
2D version may generate slowly because of the complex algorithms
used in these symbologies. IDAutomation recommends encoding
50 characters or less when using these symbologies. More
data may be encoded, although the report may take longer
to generate. To quickly generate 2D barcodes in Crystal
Reports, use the supplied UFL in the IDAutomation
Data Matrix Font and Encoder or the
PDF417 Font and Encoder.
- If an error such as "A string is required" appears,
the data will need to be converted to a string with a crystal
function.
For example:
DataToEncode = cStr( {Table1_.NumberField1},0 )
- Crystal Crashes when Running a Report with the QR
Code Hybrid: The QRCode Hybrid UFL has been updated to include error
logging capability which saves IDAutomation_UFL_Error.log in %temp% if
generation errors occur. If this occurs, provide IDAutomation Support the
contents of this log file for a solution.
* Due to
limitations
within Crystal Reports formulas, complex barcode types such as the USPS
Intelligent Mail, require the installation of the IDAutomation
UFL
(version 2015 or later) to perform most of the complex calculations required for
proper barcode generation. Installation of this UFL is automatic when running
the installer for this product. In addition, a silent installer is provided with
all developer licenses of this product to easily install the UFL when
distributing reports.
Back to Top