FileMaker Barcode Integration FAQ
& Tutorial
IDAutomation's FileMaker barcode products may be easily
integrated into new or existing FileMaker databases, applications, reports
and forms as dynamic calculated fields, without the use of scripts. In addition,
the overall size of the database does not need to increase because calculated
fields do not need to be stored. This tutorial covers available barcode
fonts, plug-ins and extensions for FileMaker versions 4 and up, including
the universal binary Intel Macintosh version.
INDEX:
-
Tutorial
integrating barcode fonts with FileMaker
- Implementing functions and
combining multiple fields
- Creating GS1-128 (EAN128 & UCC128)
barcodes
-
Download the FileMaker barcode plug-in extension (includes database
example)
- Method names and descriptions
of the plug-in extension
- Support
- Other barcode software products
- FileMaker Barcode
Integration Index
- If a scanner is needed to verify barcodes,
IDAutomation offers several
affordable, complete,
and easy-to-use barcode scanner kits.
IDAutomation's barcode fonts
may be easily integrated into FileMaker as dynamic calculated fields and
without the use of scripts. The products used in this tutorial are compatible
with FileMaker versions 4 and up.
| "With
the plug-in I was able to make the barcodes and print them on
Avery 6464 labels. The site also has a pretty good tutorial
(with lots of pictures) on how to implement a Barcode solution
using their fonts and plug-ins. I'd recommend this plug-in it
works fine.”
- ISO FileMaker Magazine Forum |
-
Determine which barcode font to use:
- If it is only necessary to encode numbers, IDAutomation recommends
using the Codabar
barcode fonts.
- If numbers and/or uppercase characters are needed, IDAutomation
recommends using
Code 39 barcode
fonts.
- If it is necessary to encode numbers, punctuation, uppercase
and/or lowercase characters in the USA, IDAutomation recommends
using Code
128 barcode fonts.
- When using Code 128 or Interleaved 2 of 5 outside of the USA,
the IDAutomation
Universal Barcode Font should be used to avoid language and
locale incompatibilities.
- When creating complex barcodes for UCC/EAN 128 or if it is necessary
to encode functions such as the return or tab, the
IDAutomation
Universal Barcode Font should be used with the
IDAu_Uni_C128 function of the plug-in
extension.
- The IDAutomation
Universal Barcode Font also has the ability to create multiple
barcode types from a single font.
- If a particular symbology must be implemented, the
corresponding barcode
font must be used.
- A database example with a barcoded form and report is provided
in the
download for support of Code 39 and may be easily modified to
support other barcode types by changing the calculated field.
- If barcode fonts are not the implementation of choice, consider
the Native
FileMaker Barcode Generator which creates barcodes without requiring
the installation of any additional fonts.
- Install the selected barcode font. If FileMaker is running, it is
necessary to shut down and restart the FileMaker application before
the new fonts will be recognized. Verify the font is installed by selecting
it in a standard word processor or text editor. If it does not show
up, try restarting the computer. If the font still does not show up
after restarting, please refer to IDAutomation's
font troubleshooting procedures.
- Install the FileMaker bar code plug-in if necessary. A plug-in is
not needed when using
Code 39 or
Codabar fonts. If other barcode font types are being used,
download and install IDAutomation's plug-in for FileMaker. The plug-in
API for FileMaker versions 4-6 is different than the new plug-in API
which supports FileMaker versions 7 and up. In addition, the Intel Macintosh
and functions for the
Universal Barcode
Font, UPC-E
and OneCode
barcodes are only supported in the new API for versions 7 and up.
- Windows systems with FileMaker versions
7 and up,
open the
IDAutomationFMplug-in.zip file and copy
IDAutomation.fmx file from the
"version 7-up" folder to the Extensions
sub folder of the FileMaker folder. For example: "C:\Program Files\Filemaker\FileMaker
Pro 8.5\Extensions".
- Windows systems with FileMaker versions
4-6,
open the
IDAutomationFMplug-in.zip file and copy
IDAutomation.fmx file from the
"version 4-6" folder to the System
sub folder of the FileMaker folder. For example: "C:\Program Files\FileMaker\FileMaker
5.5\System".
- Macintosh OS X systems with FileMaker
7 and up,
decompress the
IDAutomationFMplug-in.zip file with Stuffit Expander; decompress
the IDAutomation.zip file from
the "version 7-up" folder to get to get the IDAutomation plug-in.
Move or copy the plug-in file to the 'Extensions' folder inside
the FileMaker folder.
- Macintosh Classic and OS X systems
with FileMaker versions 4-6,
decompress the
IDAutomationFMplug-in.zip file with Stuffit Expander; decompress
IDAutomation.bin file from the
"version 4-6" folder to get
IDAutomation.sit;
decompress
IDAutomationBarcode.sit
to get the IDAutomation plug-ins. Move or copy the plug-in file
to the 'Extensions' folder inside the FileMaker folder.
- If FileMaker is running, shut down and restart the application.
Choose Edit - Preferences - Plug-in (in versions 4-6, choose
Edit - Preferences - Application). Choose the Plug-Ins tab
to ensure the IDAutomation plug-in is enabled.

-
Choose File - Define Database (in versions
4-6, choose File - Define Fields). For the field name enter "Barcode"
(or another descriptive name); for the field type choose Calculation,
and choose Create.

| "It
is simple and easy to integrate IDAutomation's fonts into
FileMaker Pro and as a Developer, I can't spend hours with
a simple Barcode - which in fact - technically spoken -
is quite complex. Therefore, it makes sense to first use
the Demo font and then simply buy the product.”
- Alexis Gehrt, Database Designs, Laax-Murschetg, Switzerland
|
- Choose the Create button to create the calculation and choose
TEXT as the calculation result. The calculation entered depends
on the font that is used:
- When using Code 39 or Codabar fonts: In the "specify
calculation" field, enter "*" & Field & "*"
for Code 39 or "A" & Field & "B" for
Codabar so that the start/stop characters are appended to the beginning
and ending of the field that is to be encoded.

- When using other barcode types that require the FileMaker
plug-in, choose External Functions from the View of
functions and select the function
beginning with IDAu that formats the data for the type of
barcode font chosen. Select or double click the
function so that a formula
appears in the formula box.
- Replace the parameter word with the field
to be encoded in the barcode.
- Select TEXT as the Calculation Result and choose
OK. If database size is a concern, choose Storage Options
and choose not to store the result in the database.
- Choose Done. The new field has now been created. When
this field is combined with the intended barcode font, it will create
a correct bar code.

Functions in FileMaker versions 4-6 are slightly different. For
example, the above formula in versions 4-6 would be:
External("IDAu-Code128", Employee ID)
- With the database form or report open, choose View - Layout
Mode. Choose Insert - Field and select the field named
"Barcode" from the list of fields and choose OK. After the barcode
field appears on the form, the edges may need to be sized so the barcode
can fit on it. NOTE: If this field is not large enough, the barcode
will only display a rectangle instead of a barcode or a corrupted barcode
may be created that will not scan.

- IDAutomation's Code 39, Codabar, UPC, EAN, MSI and Interleaved 2
of 5 barcode fonts all have a "Human Readable" version equivalent that
may be used to display the text interpretation of what is encoded. If
these fonts are not being used and it is desired to have the text interpretation
appear, Choose Insert - Field and add an additional field
of what is encoded in the bar-code.

- With the field(s) now in the report, choose View - Browse Mode
to make sure the data is being pulled from the fields dynamically and
properly formatted to the barcode font. Make sure the data changes after
moving to the next record. Strange characters may appear instead of
the data from the fields when using the plug-in which is normal for
the intended font. When using the Universal Barcode Font, a large amount
of letters will appear which is normal.

- With the "Barcode" field selected, choose Format - Fonts
and select the appropriate bar code font. Choose "align center" to move
the barcode to the middle of the field (recommended).
- Select the font size of 12 points unless another size is desired.

| "We
just purchased the product. I am using your fonts with FileMaker
and doing a software inventory for the Government. It works
great and I have found it very easy to set up. Thanks again"
- David Sinclair, APV4 Contractor (FPI)
|
- Choose View - Browse to verify a barcode exists in
the form or report. After the form or report is printed, the bar code
may be scanned. IDAutomation highly recommends scanning the barcodes
produced to verify they are accurate. If a scanner is needed, IDAutomation
offers several affordable,
complete, and easy-to-use scanner kits.

- If the application created is to be distributed, the appropriate
plug-in and barcode font must also be distributed with the database.
The IDAutomation FileMaker barcode plug-in was compiled by Thomas
Jenkins www.backofficeware.com.
Combining multiple fields into a single bar code is easily achieved with
Code 39, Code 128, PDF417 and DataMatrix barcode types. When multiple fields
are combined in this way, a delimiter such as a tab or return function is
usually encoded between the fields as in this example.
- Code 128: To insert tabs or returns
between fields into Code 128 barcodes, the auto function should not
be used, but one of the pre-defined methods for character sets A, B
or C. For example, the following formula encodes two fields with a tab
function between them and a return function at the end:
IDAu-Code128b(Employee ID& "Æi" & Business Name
& "Æm")
More information about encoding tabs and returns is provided
at the
Code128
FAQ and Tutorial site.
- Code 39: With Code 39, a function may be easily be added
between two fields in a single barcode (in
extended39)
for example:
"*"& DataField1 & "$I" & DataField2 &
"*" places a tab between two fields.
- PDF417 and DataMatrix: Please refer to the
PDF417 FAQ
or the
DataMatrix FAQ.
If UCC/EAN-128 barcodes need to be created,
the Code 128 auto function must be used together with the Ê character before
each application identifier (AI). For example, the UCC number of (8100)
712345 (21) 12WH5678 should be entered as: Ê8100712345Ê2112WH5678. IDAutomation
recommends using the
IDAutomation Universal
Barcode Font with the IDAu_Uni_C128 function
in the following situations:
- When the IDAutomationC128 font is used outside of the USA, to avoid
language and locale incompatibilities.
- When creating complex barcodes for UCC/EAN 128 or when encoding
FNC1 or FNC2 functions.
- When it is necessary to encode functions such as the return or tab.
More information about encoding AI's may be obtained from the
Code-128
FAQ. The human-readable text for UCC/EAN-128 barcodes may be included
by creating another field and selecting the plug-in function of IDAu-Code128HR
or IDAu_Uni_C128HR.
|
Method Names and Descriptions
of the FileMaker Bar Code Plug-In
|
LICENSE NOTICE: This FileMaker bar code plug-in component may be incorporated
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 or the
Optional
Integration License.
The functions listed below are available in IDAutomation's
plug-in and are only valid when used with the font listed in the "font to
use" column. All the functions listed below are preceded with
IDAu. Functions beginning with
IDAu_Uni are only to be used with the
IDAutomation Universal
Barcode Font Advantage™. Some of the functions below have more then
one parameter. Use the '|' (pipe) as the dividing character for additional
parameters. If the additional parameters are omitted, defaults will be used.
|
Function Name |
Font to Use |
Notes |
| Functions in this section are
all preceded with IDAu |
| IDAu_Code128(DataToEncode) |
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 IDAu_Uni_C128
function 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.
|
| IDAu_Code128HR(DataToEncode) |
Text Font |
ApplyTilde is True by default in
this function. |
| IDAu_Code128a(DataToEncode) |
IDAutomationC128
* |
Caution: Entering a lower case character
will create a function. Use the
character values 64 through 95 from set A to print characters
not on the keyboard; the scanner will recognize these functions
as from set A. |
| IDAu_Code128b(DataToEncode) |
IDAutomationC128
* |
Returns codes formatted to the Code
128 character set B. Formats output to the
Code 128 bar
code fonts. |
| IDAu_Code128c(DataToEncode) |
IDAutomationC128
* |
This code128 function "interleaves"
numbers into pairs for high density. |
| IDAu_I2of5(DataToEncode) |
IDAutomationI25
*
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. |
| IDAu_I2of5Mod10(DataToEncode) |
IDAutomationI25
*
IDAutomationHI25
* |
Performs a mod10 checksum calculation
for increased accuracy and formats the return string to the
Interleaved
2 of 5 fonts. |
| * When using the IDAutomationC128
or IDAutomationI25 fonts outside of the USA,
IDAutomation recommends using the
IDAutomation
Universal Barcode Font with the appropriate
Universal Function to avoid language
and locale incompatibilities. |
| IDAu_Code39(DataToEncode) |
IDAutomationC39
IDAutomationHC39 |
Formats the output to print using
Code 3 of 9
fonts. |
| IDAu_Code39Mod43(DataToEncode) |
IDAutomationC39
IDAutomationHC39 |
Performs the mod43 checksum calculation
for increased accuracy and then formats the output to print using
Code 39 barcode
fonts. The mod43 checksum is usually required for LOGMARS and
HIBC applications. |
| IDAu_Code93(DataToEncode) |
IDAutomationC93 |
Formats the output to print with
the 2 required check digits using
Code 93 fonts. |
| IDAu_Codabar(DataToEncode) |
IDAutomationCB |
Formats the output to print using
Codabar fonts. |
| IDAu_Postnet(DataToEncode) |
IDAutomationPOSTNET
IDAutomationPLANET |
Enter a single string of Zip, Zip
+ 4 or Zip + 4 + Delivery Point. The DataToEncode must be a number
and can include dashes and spaces. |
| IDAu_MSI(DataToEncode) |
IDAutomationMSI
IDAutomationHMSI |
Formats output to the
MSI barcode fonts. |
| IDAu_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. Entering incorrect data will create a barcode containing
all zeros. |
| IDAu_UPCe(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. The purpose of this function is to print
the UPC-E barcode from a UPC-A barcode that can be compressed. Formats
output to the
UPC/EAN barcode
font. Entering incorrect data will create a barcode containing
"00005000000". |
| IDAu_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. Entering incorrect data will create a barcode containing
all zeros. |
| IDAu_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. |
| All functions listed below
are preceded with IDAu_Uni_
and are only to be used with the
IDAutomation
Universal Barcode Font Advantage™ - a single font that
creates multiple barcode types. |
|
Function Name |
Font to Use |
Notes |
|
IDAu_Uni_C128(DataToEncode
| ApplyTilde) |
IDAutomation_Uni |
This is a "Code
128 Auto" function that will automatically encode any data from
ASCII 1 to ASCII 127. It will automatically switch to character
set C to encode numbers as necessary. To encode alpha-numeric
GS1-128, ~202 is entered as the FNC1 before each AI with
ApplyTilde enabled. When any barcode begins
with the FNC1, it automatically starts in Set C as required. For
example, the GS1 number of (8100)712345(21)125678 should be entered
as a formula of:
IDAu_Uni_C128 ("~2028100712345~20221125678|1")
More information about
AIs and UCC/EAN-128. |
| IDAu_Uni_C128HR(DataToEncode
| ApplyTilde) |
Text font |
Formats AIs for
text interpretations. ApplyTilde is True by default in this function. |
| IDAu_Uni_C128A(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. |
| IDAu_Uni_C128B(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. |
| IDAu_Uni_C128C(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. |
| IDAu_Uni_C39(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. |
| IDAu_Uni_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. |
| IDAu_Uni_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. |
| IDAu_Uni_MSI(DataToEncode
| N_Dimension |
IncludeCheckDigit) |
IDAutomation_Uni |
Formats output
for barcoding in the MSI/Plessey symbology. A MOD 10 checksum will
be calculated if IncludeCheckDigit
is true. |
| IDAu_Uni_OneCode(DataToEncode) |
IDAutomation_Uni
or
IDAutomationPOSTNET |
This function only
works with the IDAutomationPOSTNET font and the XS, S or M size
of the Universal Font. DataToEncode is a single string according
to the
OneCode section of the USPS FAQ. |
| IDAu_Uni_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. |
| IDAu_Uni_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. |
| IDAu_Uni_UCC128(DataToEncode) |
IDAutomation_Uni |
This symbology
option automatically encodes the FNC1 character in set C as required
for GS1-128 barcodes. All functions of ApplyTilde
are enabled in this function for calculating the required MOD 10
check digit and cannot be disabled, for example:
IDAu_Uni_C128 ("00000123455555555558~m19"
)
For more information, please visit the
UCC/EAN FAQ. |
Description of the Parts of the Methods:
- 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 - if this
value is "1", a check digit will be automatically calculated and included
in the barcode, if appropriate for the symbology type chosen.
- ApplyTilde - In Code 128 auto and
UCC128, if the ApplyTilde option is set to "1", the tilde will be processed
and allow the following encoding options:
- ASCII characters: the format ~ddd may be used to specify
the ASCII code of the character to be encoded. For example, if the
user enters the following text in the Data field: 66~02977
it will actually encode 66GS77
where GS is a delimiter ASCII
29 character. Other commonly used ASCII codes are ~009 for a tab
and ~013 which is a return function. To obtain locations of other
functions, please refer to IDAutomation's
ASCII chart.
- Encode GS1-128 (UCC/EAN-128): to
encode alpha-numeric UCC/EAN128, the character must be set to "AUTO"
for automatic. Then, ASCII 202 or character Ê is entered as the
FNC1 before each AI and the required start C is included automatically.
For example, the UCC number of (8100)712345(21)12WH5678 should be
entered as: ~2028100712345~2022112WH5678. In most
cases, the AI's will be properly represented in the human readable
text. If the parenthesis is not around the correct number for the
AI, enter the following extended ASCII character as the FNC1 for
the correct number of digits in the user's AI:
~212 = 2 digits
~215 = 5 digits
~213 = 3 digits
~216 = 6 digits
~214 = 4 digits
~217 = 7 digits
For example, to encode (1277)000056, enter
~2141277000056.
For more information about this, please refer to the
UCC/EAN 128 section of IDAutomation's Code 128 FAQ
- Create a Mod 10 Check digit: to Create a Mod 10 check
digit for xx number of characters add the following to the DataToEncode:
~mnn (where nn is a 2 digit number representing the number
of characters preceding the tilde in which to base the Mod 10 calculation).
The additional MOD 10 check digit is commonly used in UCC or EAN
barcode types. For example:
IDAu_Uni_C128 ("~2020000012345555555555~m19"
)
- FNC2: When necessary, the FNC2 character may be inserted
into the DataToEncode string by using ASCII 197. For example:
~1978012349091. IDAutomation's
SC5USB Scanner may be programmed to hold the barcode starting
with the FNC2 in memory and only transmit the data after scanning
a barcode containing the FNC1.
Common Problems and Solutions:
IDAutomation has many other products to offer for barcoding purposes
including:
Reviews and Listings for IDAutomation's plug-in:
Legal Notice: If a company sells a barcode font with that company's
copyright notice on it and it works with this FileMaker Plug-in, it may
be an illegal counterfeit. See IDAutomation's document about
how to identify
and report illegal and counterfeit barcode fonts for more information.
©
Copyright 2001-2009 IDAutomation.com, Inc., All Rights Reserved.
Legal Notices.
The IDAutomation FileMaker plug-in was compiled by Thomas
Jenkins of backofficeware.com.
|
Over 70% of Fortune 100
companies use IDAutomation's products to automate their businesses.
|
|