Oracle Reports Barcode Font Tutorial &
Integration Guide
This is a tutorial for implementing barcodes in Oracle
Reports with the IDAutomation PL/SQL Barcode Library and IDAutomation barcode
fonts. The barcode library is a PLL file that formats data from fields in
the report to the barcode fonts, to create a correct barcode. The library
contains functions for Code 128, Code 39, GS1, Codabar, UCC/EAN 128,
Interleaved 2 of 5, UPC and EAN barcodes.
IDAutomation also provides the
Java Barcode Package, which
is easier to
use implement in Oracle Reports for versions 9i, 10g and above.
Additionally, the
Java Package it is much easier to use in Unix and Linux environments. Additional
options are also provided at IDAutomation's
Barcode Integration Guide
and Tutorial for Oracle Reports.
|
Over 70% of Fortune
100 companies use IDAutomation's products to automate their businesses.
|
Oracle Barcode Font Implementation Tutorial
Step 1 - Install
the Bar Code Fonts
IDAutomation offers many varieties
barcode fonts for
various purposes. If in doubt about which to use, IDAutomation recommends using
Universal Barcode Font with the
Code 128 function. To install IDAutomation's barcode fonts on Windows
for Oracle Reports, run the INSTALL.EXE file included in the font package
or follow the
font installation procedures. Because of the complexities
and several different distributions of Unix and Linux systems, IDAutomation
does not provide installation assistance for Unix and Linux systems.
However, IDAutomation does provide two sets of installation instructions
that may help as a guide:
-
Installing Fonts on Unix for Oracle Reports
- Font Installation
on Unix and Other Systems
IDAutomation recommends using the
Java Solution
if possible for Unix and Linux environments.
Step 2 - Oracle
Reports Barcode PLL Library Installation
This PLL library is compatible with any
version of Oracle Reports that supports attached libraries. It was developed
and tested against Reports 6i. If used in the database itself, then the
version of the database would be any version that supports PL/SQL. PL/SQL
source code is also provided for advanced Oracle developers in the IDAutomation.pkg
file.
- Open Oracle Reports Builder.
- Open the report rdf file that will contain the barcodes.
- Select the attached libraries option.
- Press the create button (Green Plus symbol) on the left toolbar.
- In the dialog box, select the File System radio button, click on
the Browse button.
- Download the
Oracle
Barcode Library Package which contains the IDAutomation.pll
and IDAutomation_Universal.pll files. After decompressing, save
these files to an appropriate directory.
- Select the IDAutomation.pll
or the IDAutomation_Universal.pll
file and choose the Attach Button. If in doubt about which to use, IDAutomation
recommends using the IDAutomation_Universal.pll
file with the
IDAutomation Universal Barcode Font.
- A dialog box will appear asking to remove the path. If "Yes" is
selected, the PL/SQL library will need to be re-attached to the report
every time the report is opened. If "No" is selected, it will always
look for the path in the same location. It is preferable to leave the
library in the same directory as the report.
- The barcode functions in the library are now ready to be used in
the report. After the library is attached, the Object Navigator should
look similar to the screen shot below; which shows the attached IDAutomation_Universal.pll:

Step 3 - Setup
the Function Call with the Appropriate Barcode Font
- IDAutomation's barcode library contains many
function calls for linear barcodes
as described in the method table.
Add a Formula Column to the report by using the Data Model option of
the Report Layout, clicking the Formula Column button on the toolbar,
and sizing the column in the layout area.

- The properties of the newly added Formula Column need to be adjusted
to call the PL/SQL function from the IDAutomation.pll library. Access
the property page for the Formula Column by selecting the Formula Column
and pressing the F4 key. The following window will appear:

- Adjust the following properties:
Name - Choose a descriptive name for the Formula Column because the
columns will need to be referenced when designing the layout of the
actual report.
Datatype - This must be selected as Character from the drop-down menu.
Width - Ensure the width of the field is large enough to hold all characters
for the encoded data.
- Click on the PL/SQL Formula button within the Property Inspector
to call the appropriate barcode function. The following screen should
appear:

- At the cursor, insert the appropriate function call.
This function will add the appropriate start and stop characters, encode the
data (if necessary) and add the check sum character (if required).

- Please note in the above example, that a constant value (Code128Test)
was passed into this function, the appropriate character field may be
substituted from the database, if necessary.
- Click Close in the above window and ensure the report has been saved.
- To add this Formula Column to the report, switch to Paper Layout
mode for the report and add a Field object to the report by clicking
the appropriate item in the toolbar and dragging into position on the
report.

- Once the Field has been added to the report, it needs to be linked
to the Formula Column that was created earlier. To link the Field to
the Formula Column, select the field and hit the F4 button to bring
up the Property Inspector for the Field. The Property Inspector should
look similar to the following:

- Adjust the following properties:
Name - Choose a descriptive name for the field (optional)
Source - Select the name of Formula Column that was created earlier
(required)
- Modify the font of the field to the appropriate barcode font according
to the function chart.
|
Barcode Font Functions |
| The
methods listed below are
only to be used with IDAutomation.pll and the appropriate
barcode font. IDAutomation strongly recommends using the
IDAutomation
Universal Barcode Font with the appropriate
Universal Function when generating
Code 128 or Interleaved 2 of 5 barcodes. |
| Function |
Font to use |
Notes |
Code128(DataToEncode,
ReturnType) |
IDAutomationC128 * |
This is a "Code 128 Auto" function that will
automatically encode text data from ASCII 1 to ASCII 127. IDAutomation
recommends using the
IDAutomation
Universal Barcode Font with the
Universal Font Methods
in the following situations:
- When the IDAutomationC128 font is used outsize
of the USA, to avoid language and locale incompatibilities.
- When creating barcodes for GS1-128 (UCC/EAN
128) or when encoding FNC1 or FNC2 functions.
- When it is necessary to encode functions
such as the return or tab.
It may be necessary to use the optional ReturnType
for special purposes:
(Data, 0) formats barcode output string for the Code 128 barcode
fonts.
(Data, 1) returns the human readable data.
(Data, 2) returns only the check digit.
|
| Code128a(DataToEncode) |
IDAutomationC128 * |
Formats output to the
Code 128 barcode
fonts, character set A. |
| Code128b(DataToEncode) |
IDAutomationC128 * |
Returns codes formatted to the Code 128 character
set B. Formats output to the
Code 128 bar code
fonts. |
| Code128c(DataToEncode) |
IDAutomationC128 * |
This code128 function "interleaves" numbers into
pairs for high density. |
| I2of5(DataToEncode) |
IDAutomationI25 *
or
IDAutomationHI25 * |
This function "interleaves" numbers into pairs
for high density without check digits and formats the return string
to the
Interleaved 2 of 5 fonts. |
I2of5Mod10(DataToEncode,
ReturnType) |
IDAutomationI25 *
or
IDAutomationHI25 * |
(DataToEncode, 0) performs the mod10 checksum
calculation for increased accuracy and formats the return string
to the
Interleaved 2 of 5 fonts.
(DataToEncode, 1) returns the human readable data with the MOD10
check digit included.
(DataToEncode, 2) returns the MOD10 check digit. |
| * When using the IDAutomationC128
or IDAutomationI25 fonts outside of the USA
or for GS1-128, IDAutomation recommends using the
IDAutomation
Universal Barcode Font with the appropriate
Universal Function to avoid language
and locale incompatibilities. |
| Code39(DataToEncode) |
IDAutomationC39
or
IDAutomationHC39 |
Formats the output to print using
Code 39 fonts. |
Code39Mod43(DataToEncode,
ReturnType) |
IDAutomationC39
or
IDAutomationHC39 |
(DataToEncode, 0) performs the mod43 checksum
calculation for increased accuracy and then formats the output to
print using Code
39 fonts. The mod43 checksum is usually required for LOGMARS
and HIBC applications.
(DataToEncode, 1) returns the human readable data with the check
digit included.
(DataToEncode, 2) returns only the check digit. |
| Code93(DataToEncode) |
IDAutomationC93 |
Formats the output to print with the 2 required
check digits using
Code 93 fonts. |
| Codabar(DataToEncode) |
IDAutomationCB |
Formats the output to print using
Codabar fonts. |
| EAN13(DataToEncode) |
IDAutomationUPCEAN |
DataToEncode is a number string of 12, 13, 14,
15, 17 or 18 digits with or without a check digit, add-ons are supported.
Formats output to the
UPC/EAN barcode
font. |
| EAN8(DataToEncode) |
IDAutomationUPCEAN |
DataToEncode is a number string of 7 or 8 characters
(EAN-8 without the check digit). Formats output to the
UPC/EAN barcode
font. Entering incorrect data will create a barcode containing
all zeros. |
Postnet(DataToEncode,
ReturnType) |
IDAutomationPOSTNET
or
IDAutomationPLANET |
Enter a single string of Zip, Zip + 4 or Zip
+ 4 + Delivery Point or any number of digits for the planet code.
The DataToEncode must be a number and can include dashes and spaces.
(DataToEncode, 0) formats output to the
POSTNET barcode
fonts.
(DataToEncode, 1) returns the human readable data with the check
digit included.
(DataToEncode, 2) returns only the check digit. |
| UPCa(DataToEncode) |
IDAutomationUPCEAN |
DataToEncode is a UPC-A number string of 11,
12, 13, 14, 16 or 17 digits with or without a check digit, add-ons
are supported. Formats output to the
UPC/EAN barcode
font. |
|
Universal
Barcode Font Functions |
| The
methods listed below are
only to be used with IDAutomation_Universal.pll and the
IDAutomation
Universal Barcode Font Advantage™. |
| Function |
Font to use |
Notes |
| Code128(DataToEncode,
ApplyTilde) |
IDAutomation_Uni |
The recommended and primary
Code 128 function that automatically encodes all text from
ASCII 1 to
ASCII 127.
This method
contains many options for encoding GS1-128 and includes tilde options
to encode functions such as tabs and returns. |
| Code128A(DataToEncode) |
IDAutomation_Uni |
Formats output to set A of
Code-128. Use caution with this option because any lowercase character
creates a
function.
Use the letter "i" for a tab and "m" for a return. For most purposes,
it is better to use the C128() function
instead of this one. |
| Code128B(DataToEncode) |
IDAutomation_Uni |
Formats output to Code-128,
character set B. For most purposes, it is better to use the
C128() function instead of this one. |
| Code128C(DataToEncode) |
IDAutomation_Uni |
This code128 function "interleaves"
even numbers into pairs for high density. An even number of digits
is required. For most purposes, it is better to use the
C128() function instead of this one. |
| Code39(DataToEncode,
N_Dimension,
IncludeCheckDigit) |
IDAutomation_Uni |
Formats the output for bar-coding
in Code 3 of 9 with the universal font. A MOD 43 checksum will be
calculated if IncludeCheckDigit
is true. |
| Codabar(DataToEncode,
N_Dimension, StartChar, StopChar) |
IDAutomation_Uni |
Creates Codabar (aka NW7) with
the universal font. StartChar and StopChar are also required as
the start and stop characters. Valid start and stop characters are
A, B, C and D. |
| I2of5(DataToEncode,
N_Dimension,
IncludeCheckDigit) |
IDAutomation_Uni |
This function "interleaves"
numbers into pairs for high density without check digits and formats
the return string to the universal font. An even number of digits
is required. A MOD 10 checksum will be calculated if
IncludeCheckDigit is true. |
| Planet(DataToEncode,
IncludeCheckDigit) |
IDAutomation_Uni |
NOTE: Because this bar-code
type has a specific height requirement, this function only works
with the XS, S or M size of the Universal Font. XS is the
normal version, S has the bars narrow by 10% and the M
font has the bars narrow by 20%. DataToEncode is a single string
of Zip, Zip + 4 or Zip + 4 + Delivery Point. A MOD 10 checksum will
be calculated if IncludeCheckDigit
is true. |
| Postnet(DataToEncode,
IncludeCheckDigit) |
IDAutomation_Uni |
NOTE: Because this bar-code
type has a specific height requirement, this function only works
with the XS, S or M size of the Universal Font. XS is the
normal version, S has the bars narrow by 10% and the M
font has the bars narrow by 20%. DataToEncode is a single string
of Zip, Zip + 4 or Zip + 4 + Delivery Point. A MOD 10 checksum will
be calculated if IncludeCheckDigit
is true. |
Description of the Parts of the Functions:
- DataToEncode - this is a string
value that represents the data being encoded.
- N_Dimension - determines the width
of the wide bars which 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 - If the ApplyTilde option
is set to True, characters following the tilde may be used to
perform additional calculations or
encode ASCII characters directly.
LICENSE NOTICE: This component may be incorporated
in the application only if there is a valid license from IDAutomation.com,
Inc. for the associated barcode
font. Redistribution of IDAutomation's fonts and components requires
a Developer License.
Related
Links:
© Copyright 2002-2008 IDAutomation.com, Inc., All Rights
Reserved. Legal
Notices.
|
Over 70% of Fortune
100 companies use IDAutomation's products to automate their businesses.
|
|