Barcode UFL Plug-in for Crystal Decisions Crystal Reports

Barcode UFL Plug-in for Crystal Decisions Crystal Reports Our UFL (User Function Library) for Crystal Reports is a special plug-in that can be easily integrated into your Crystal Reports for barcode automation purposes. The UFL plug-in is supplied in an easy to install executable file. Once installed, barcode functions appear in the formula editor. These functions can be easily applied to fields on reports that require barcodes. Our UFL contains functions for popular linear barcodes including POSTNET, PLANET, Code 39, Interleaved 2 of 5, Code 128, Code 128 auto, UPC-A, EAN-13, EAN-8, UCC-128, MSI / Plessy, Code 11, RM4SCC, 4-State, SSCC-18 and SCC-14. We also have Crystal UFL's available for PDF417 and DataMatrix.


The Crystal Reports UFL is free to use as long as you are using it with one of our licensed barcode fonts. This UFL is designed to work with Crystal Reports 6.0 and above. It is also compatible with the version of Crystal Reports distributed with Visual Studio .NET and the implementation is the same.



Distributing our UFL and Fonts with Crystal Runtime Files

Our UFL is free to use and distribute with your application as long as you are using it with one of our licensed barcode fonts. Redistribution of our fonts and components outside your organization requires a Developer License. The following is a list of runtime files you should distribute with your application:

Crystal Reports UFL Files to Distribute
(We recommend using an advanced installation application to distribute files for Windows)
Purpose of File File to Distribute Notes
Font File ???.ttf One of our TrueType barcode fonts. You may distribute font files if you purchase the Developer License.
Crystal UFL CRUFLIDAutomation.dll The IDAutomation Crystal UFL. It can be found in the system directory after installation.
Crystal Runtime U2lcom.dll This is a crystal runtime file that is required to work with COM UFLs. It can be found in the system directory after installation. Do not reinstall this file if it exists.
VB Runtime DLL msvbvm60.dll This runtime file already exists on most PCs and it is required for the Crystal UFL. It can be found in the system directory after installation. Do not reinstall this file if it exists.

The following barcode functions are available for the UFL / DLL:

UFL / ActiveX DLL: CRUFLIDAutomation.dll
Class: FontEncoder (functions listed below)

NOTE: You MUST use Code 128 fonts dated December 2000 or later for Code 128 functions. You must use Interleaved 2 of 5 fonts dated May 1, 2001 or later for Interleaved 2 of 5 functions.

For all functions below, the data input type is a single string. A number may be required for additional parameters. For example, Code128("123456",0). For all number symbologies such as POSTNET and UPC, you may input dashes or spaces for easier readability and they will be filtered out by the function before the barcode is generated. For UPC-A, UPC-E & EAN-13 you can enter the +2 and +5 add-on codes by just adding them to the end of the string. 

Function Notes
Code128(Data, Number) If you are not sure which Code 128 set is for your application, then use this one. This is a "Code 128 Auto" function that will automatically encode any data from ASCII 0 to ASCII 127. It will automatically switch to character set C for numbers also.
To encode alpha-numeric UCC/EAN-128, ASCII 202 or character E is entered as the FNC1 before each AI. For example, the UCC number of (8100)712345(21)12WH5678 should be entered as: E8100712345E2112WH5678.
More information about AIs and UCC/EAN-128 is located here.
(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() Use the characters from set B to print characters not on the keyboard; the scanner will scan characters from set A. Formats output to the Code 128 barcode fonts.
Code128b() Returns codes formatted to the Code 128 character set B. Formats output to the Code 128 barcode fonts.
Code128c(Data, Number) This code128 function "interleaves" numbers into pairs for high density. An even number of digits is required.
(Data, 0) formats output to the Code 128 barcode fonts.
(Data, 1) returns the human readable data with the check digit included.
(Data, 2) returns only the check digit.
I2of5() This function "interleaves" numbers into pairs for high density without check digits and formats the return string to the Interleaved 2 of 5 font. An even number of digits is required.
I2of5Mod10(Data, Number) (Data, 0) performs the mod10 checksum calculation for increased accuracy and formats the return string to the Interleaved 2 of 5 font. MOD 10 checksums are required for SSC-14 when using Interleaved 2 of 5 for that purpose. An odd  number of digits is required.
(Data, 1) returns the human readable data with the MOD10 check digit included.
(Data, 2) returns the MOD10 check digit.
Code39() Formats the output to print using Code 39 fonts.
Code39Mod43(Data, Number) (Data, 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 applications.
(Data, 1) returns the human readable data with the check digit included.
(Data, 2) returns only the check digit.
Codabar() Formats the output to print using Codabar fonts.
UCC128() Use this function for UCC/EAN-128 applications when you have already generated your MOD10 check digit if required. Supports UCC-128, EAN-128, SCC-18 and SCC-14. FNC1 automatically included after start digit, enter "FA" between even numbers for additional FNC1 Codes. Formats the output to print using Code 128 fonts.
SCC14(Data, Number) SCC14(Data, 0) generates the MOD10 required and then formats the output to print EAN-14 and SCC-14 using Code 128 fonts. The input for Data must be a 13 to 17 digit number string, however, only 13 are needed. The required application identifier of (01) is automatically added. Entering incorrect data will create a barcode containing all zeros.
SCC14(Data, 1) returns the human readable data for SCC14 / EAN14.
SCC14(Data, 2) returns the MOD10 check digit.
SSCC18(Data, Number) SCC18(Data, 0) generates the MOD10 required for SSCC-18 and then formats the output to print SSCC-18 using Code 128 fonts. The input for Data must be a 17 to 21 digit number string, however, only 17 are needed. The required application identifier of (00) is automatically added. Entering incorrect data will create a barcode containing all zeros.
SCC18(Data, 1) returns the human readable data for SCC-18.
SCC18(Data, 2) returns the MOD10 check digit.
Postnet(Data, Number) Enter a single string of Zip, Zip + 4 or Zip + 4 + Delivery Point. The input for Data must be a number and can include dashes and spaces.
(Data, 0) formats output to the POSTNET barcode fonts.
(Data, 1) returns the human readable data with the check digit included.
(Data, 2) returns only the check digit.
USPS_EAN128 (Data, Number) Used for 22 digit USPS special services labels such as delivery confirmation in EAN128. This is used with our Code 128 font AdvC128d at 20 points. This new EAN128 format is mandatory as of January 10, 2004 according to the USPS Delivery Confirmation Service defined in the September 2002 version of Publication 91. Enter a 19 or 20 digit number string; only the first 19 are used. Entering incorrect data will create a barcode containing all zeros. This number is made up of the following:  2 digit service code + 9 digit customer ID + 8 digit sequential package ID + MOD 10 check digit that can be calculated by this function if excluded. In this function, the application identifier of 91 is automatically added for you. Other USPS EAN128 barcode types must be created by calling Code128() with the appropriate ASCII 202 and AIs included
(Data, 0) formats output to the Code 128 barcode fonts.
(Data, 1) returns the human readable data with the check digit included.
(Data, 2) returns only the check digit.
USPS_USS128 (Data, Number) NOTICE: After 1/10/2004, you must use the USPS_EAN128 function to meet USPS requirements. Used for 20 digit USPS special services numbers with Code 128 fonts according to the USPS Special Services defined in the February 2000 version of the Special Services Technical Guide. Enter a 19 or 20 digit number string; only the first 19 are used. Entering incorrect data will create a barcode containing all zeros. This number is made up of the following:  2 digit service code + 9 digit customer ID + 8 digit sequential package ID + MOD 10 check digit that can be calculated by this function if excluded.
(Data, 0) formats output to the Code 128 barcode fonts.
(Data, 1) returns the human readable data with the check digit included.
(Data, 2) returns only the check digit.
RM4SCC() Formats the output to print using RM4SCC fonts. Checksum calculated according to the mailsort customer barcoding specification.
MSI(Data, Number) (Data, 0) formats output to the MSI barcode fonts.
(Data, 1) returns the human readable data with the check digit included.
(Data, 2) returns only the check digit.
Code11() Only the "C" check digit is calculated which is the standard when encoding 10 digits or less.
UPCa(Data) Data 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. Entering incorrect data will create a barcode containing all zeros.
UPCe(Data) Data 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. The purpose of this function is to print the UPC-E barcode from a UPC-A barcode that can be compressed. It will print a UPC-A if it cannot be compressed by zero suppression rules. Formats output to the UPC/EAN barcode font. Entering incorrect data will create a barcode containing "00005000000".
EAN13(Data) Data 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. Entering incorrect data will create a barcode containing all zeros.
EAN8(Data) Data 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.
MOD10(Data) Data is a number string. A MOD 10 check digit is returned. This is useful in calculating check digits for UCC/EAN 128 barcodes where a MOD check digit is needed.

Barcode Fonts

Business Software

MS Excel Spreadsheets, Add-ins, Templates

Barcode Printers

Barcode Scanners

Home