Home Products Demos Support Integration Barcode FAQ Order Now Contact Us

 

Home:  Products:  Barcode Components:  Java Barcode Package:  Java Barcode User Manual & Tutorial
 

Java Barcode Package User Manual & Tutorial

INDEX:

If a barcode scanner is needed, IDAutomation provides several types of high-quality USB Barcode Scanners.

 Java Barcode Package Overview  

IDAutomation's Java Barcode Packages are mature barcode generator components that have been in use since 2000. Multiple capabilities of this product are provided in a single JAR file to ease installation, use and upgrades. All IDAutomation Java Barcode Packages include the following components:

  1. Barcode class library - includes all necessary class files for java barcode generation.
  2. Applet - allows easy applet implementation.
  3. Servlet - enables servlet use with applet parameters.
  4. Encoder - used to convert java.awt images obtained from the barcode class into JPEG or GIF files.
  5. Source code - includes source code to the applet, servlet, encoder and examples. The source code for the java barcode generator class should not be needed; however, it is available with the purchase of the Unlimited Developer License and a signed Source Code License Agreement.
 Java Barcode Installation  

This Java library is easily utilized after the JAR file is installed in the Java classpath environment. There are some exceptions, such as when integrating source code or class files directly, or servlet implementation with Apache Tomcat. However, for most purposes, the JAR file must be installed.

Installing and Testing the Barcode JAR File:

The following example uses the Linear Java Barcode Package. When using other packages, the associated file should be replaced accordingly.

  1. Install Java and ensure the Java executables are included in the search path. For example: after installing JDK 1.3 in Windows, c:\jdk1.3\bin must be appended to the path environment variable so that the complete path looks something like %SystemRoot%\system32;%SystemRoot%;c:\jdk1.3\bin. In Windows®, the path environment is created or edited by choosing My Computer - Properties - Advanced System Settings - Environment Variables.
  2. Copy LinearBarCode.jar from the package to C:\IDAutomation or a production directory of choice.
  3. Add both the JAR file and the period to the classpath environment variable. The specification of the JAR file enables the barcode library to be available for Java programs. The period allows Java applications to run in the current directory, which is convenient for testing. In Windows, the classpath environment variable may be created or edited by choosing My Computer - Properties - Advanced System Settings - Environment Variables. The classpath should look something like C:\IDAutomation\LinearBarCode.jar;. The "SET CLASSPATH" command may be used from the command prompt to verify that classpath.
  4. Download IDAutomation_LinearJavaEncoderTestApplication.zip and extract the files into a temp directory such as c:\temp. From the temp files extracted, execute the CreateJPEG class file in Java; Windows users may simply execute run.bat instead. When asked, enter the data of "IDAUTOMATION" and verify a JPEG file is created.
  5. If problems are encountered, verify the above steps were completed properly and ensure the Java.awt GUI functions are available. If the Java environment has the java.awt library stripped out or the system running Java does not have an active GUI environment, either (1) use Headless Java or (2) connect to a remote X Server or (3) install the X Windows environment and run an X Windows session or (4) install an emulator, PJA library or virtual frame buffer as described in the XWindow Error KB Document.
 Java Barcode Applet Implementation

Java Applets are included with all IDAutomation JAR files of the Java Barcode Packages. An applet may be used to easily display barcodes in web pages with compatible web browsers. An example of using the applet in HTML is provided in the package download. Properties are modified by changing the appropriate Applet Parameter.

HTML Code Example:

<APPLET CODEBASE = "./"
ARCHIVE = "LinearBarCode.jar"
CODE = "com.idautomation.linear.BCApplet.class"
NAME = "TestApplet"
WIDTH = 500 HEIGHT = 200 HSPACE = 0 VSPACE = 0 ALIGN = middle >
<PARAM NAME = "BARCODE" VALUE = "123456789012">
<PARAM NAME = "CODE_TYPE" VALUE = "CODE39">
<PARAM NAME = "LEFT_MARGIN" VALUE = "1">
<PARAM NAME = "TOP_MARGIN" VALUE = "1">
<PARAM NAME = "FONT_COLOR" VALUE = "BLUE">
<PARAM NAME = "TEXT_FONT" VALUE = "ARIAL|BOLD|14">
<PARAM NAME = "CHECK_CHAR" VALUE = "N">
<PARAM NAME = "BAR_HEIGHT" VALUE = "2"> </APPLET>

The size must be specified when using the applet. Parameters may be provided in the Applet PARAM tag or from Javascript. For example, the following code will set a new value for the barcode:

TestApplet.setParameter(BARCODE,"new value");
TestApplet.refresh();

Applet Pre-Loading

The time it takes to create barcodes on web pages using applets may be reduced by pre-loading the applet on a previous page. This type of implementation places the JAR file in the browser's cache and allows quick barcode generation. The following JavaScript code pre-loads the Linear Barcode Package.

<APPLET
CODE = "com.idautomation.linear.BCApplet"
ARCHIVE = "LinearBarCode.jar"
NAME = "PreloadApplet"
WIDTH = 1 HEIGHT = 1 HSPACE = 0 VSPACE = 0 ALIGN = top >
</APPLET>

 JPEG & GIF Encoder Example

The following is a very simple example of the Java source code used to create an image file from the Linear Java Barcode Package:

import com.idautomation.linear.*;
import com.idautomation.linear.encoder.*;
class CreateImageExample {
   public static void main ( String [] args ) {
      BarCode bc=new BarCode();
      bc.code="123456789012";
      barCodeEncoder bce = new barCodeEncoder(bc, "GIF", "newfile.gif");
      System.exit(0);
   }
}

Additional examples are provided in the package download for each symbology.

 Java Barcode Servlet Implementation

Java Servlets are included with all IDAutomation JAR files of the Java Barcode Packages and may be used to add server-side barcode generator capability to a dedicated web server. IDAutomation servlets are compatible with all browsers and are easy to embed in HTML as an image with the <IMG> tag. In addition, IDAutomation java servlet barcodes may be streamed into reports that support dynamic image objects, including Crystal Reports and FileMaker. Properties of the servlet are modified by changing the appropriate Applet Parameter.

Java Barcode Servlet Implementation:

IDAutomation offers a tutorial for servlet implementation with Apache Tomcat. Additional examples are provided below.

Servlet Example with Java Servlet SDK:

  1. Install and test the barcode JAR file.
  2. Install Java Servlet SDK on the server and make sure it is specified in the classpath. For example:
    SET CLASSPATH=.;c:\java\classroot\;c:\jars\LinearBarCode.jar;c:\jsdk2.1\server.jar;c:\jsdk2.1\servlet.jar
  3. Per the Java Servlet SDK instructions, edit c:\jsdk2.1\examples\WEB-INF\servlets.properties to include the following statement:
    LinearServlet.code=com.idautomation.linear.IDAutomationServlet
  4. Start the servlet server by executing C:\jsdk2.1\startserver.bat.
  5. After the servlet server is started, paste the following text into a web browser:
    http://localhost:8080/examples/servlet/LinearServlet?BARCODE=12345678

Servlet Implementation Using ServletExec ISAPI on Windows® Server:

  1. In the servlet administration area, choose Configure.
  2. Choose Add Servlet and enter the servlet name, class and code base.
  3. Choose Submit and choose to Reload the new servlet.
  4. The servlet should now be viewable online by entering a URL such as
    http://yourserver.com/servlet/LinearServlet?BARCODE=12345678

Inserting Java Barcodes in HTML:

  1. Barcodes may be integrated within web pages and HTML forms by use of the IMG tag, for example:
    <img src="http://yourserver.com/servlet/LinearServlet?BARCODE=12345678">
  2. The image that is created defaults to 96 dpi and may be compressed or expanded if necessary to obtain better precision.

Creating Secure Servlets:

Other methods of servlet operation may be accomplished by developers that modify the servlet source code provided. This may be necessary to ensure the end-user cannot manipulate the servlet. A working example is provided in the IDAutomationSecureServlet.java file, which is in the source code ZIP file in the package.

Auto-sizing and Performance Considerations:

When using the Servlet, auto sizing of the image is disabled if the HEIGHT and WIDTH are manually specified. Because a temp image is created to determine the size, performance is improved by specifying the size.

 java.awt.Image Object Implementation

The following code illustrates how to create a barcode in a java.awt.Image object:

BarCode bc=new BarCode();
bc.setSize(400,200);
// create image
java.awt.image.BufferedImage image = new java.awt.image.BufferedImage( bc.getSize().width,bc.getSize().height,java.awt.image.BufferedImage.TYPE_BYTE_INDEXED );

// get graphic context of image
java.awt.Graphics imgGraphics = image.createGraphics();

// paint barcode in graphics context of image
bc.paint(imgGraphics );

 Properties of the Java Linear Barcode Class:

This section explains the main properties, methods and configuration parameters of the package. This class is a descendant of java.awt.Canvas and may be used in any java container. IDAutomation suggests leaving all properties at their defaults unless they absolutely need to be changed.

Properties and Methods (Refer to the index of fields and methods for more detailed API information)

Class Properties Applet Properties Default Comments

AutoSize

AUTO_SIZE

True

If true, the size the barcode image will automatically be determined. If this is set to false, the size will need to be specified with setSize(w,h). Because a temp image is created to determine the size, performance is improved by specifying the size and setting autoSize to false.

SymbologyID

CODE_TYPE

CODE128
(13)

This is the type of barcode to create. Valid values for the barcode types are as follows: CODE39=0; CODE39EXT=1; INTERLEAVED25=2; CODE11=3; CODABAR=4; MSI=5; UPCA=6; IND25=7; MAT25=8; CODE93=9; EAN13=10; EAN8=11; UPCE=12; CODE128=13; CODE93EXT=14; POSTNET=15; PLANET=16; UCC128=17; ONECODE=18; the default is CODE128. Use the number value for the JavaBean and the text value for the applet and servlet. For example, the servlet query string would include: &CODE_TYPE=ONECODE

Background

BACK_COLOR

WHITE

The background color of the barcode. It is recommended to use the default setting of WHITE. Valid values are: RED, BLUE, GREEN, BLACK, GRAY, LIGHTGRAY, WHITE, DARKGRAY, YELLOW, ORANGE, CYAN and MAGENTA. The RGB numerical value of a color can also be used as a parameter (e.g. 0x00FF00 for green).

Foreground

BAR_COLOR

BLACK

The color of the bars. It is recommended to use the default setting of BLACK. Valid values are: RED, BLUE, GREEN, BLACK, GRAY, LIGHTGRAY, WHITE, DARKGRAY, YELLOW, ORANGE, CYAN and MAGENTA. The RGB numerical value of a color can also be used as a parameter (e.g. 0x00FF00 if green).

BarHeightCM

BAR_HEIGHT

1

The height of the bars in CM, which also adjusts the entire height of the barcode.

bearerBarHorizontal

BEARERBAR_HORIZONTAL

0

The size of the horizontal bearer bars. Valid values are 0-10 which are a multiple of X.

bearerBarVertical

BEARERBAR_VERTICAL

0

The size of the vertical bearer bars. Valid values are 0-10 which are a multiple of X.

characterGrouping

CHARACTER_GROUPING

0

The number of digits, which will be grouped together in the human readable text. Valid values are 0,3,4, and 5.

CODABARStartChar

CODABAR_START

A

Start character for CODABAR. Valid values are "A", "B", "C" or "D".

CODABARStopChar

CODABAR_STOP

B

Stop character for CODABAR. Valid values are "A", "B", "C" or "D".

DataToEncode

BARCODE

na

This is the data text to be encoded in the barcode. The input is a string value type. A byte array may also be use in PDF417 or DataMatrix.

Code128Set

CODE128_SET

0

The set of characters to be used in Code 128. Valid values are: 0, A, B or C. 0 is used for the automatic selection. It is recommended to leave this at the default setting. More about Auto Function...

CheckCharacter

CHECK_CHAR

Y

If true, the software will calculate the check character automatically. The applet and servlet convert "Y" to true and "N" to false.

TextFontColor

FONT_COLOR

BLACK

The color of the text below the barcode. Valid values are: RED, BLUE, GREEN, BLACK, GRAY, LIGHTGRAY, WHITE, DARKGRAY, YELLOW, ORANGE, CYAN and MAGENTA. The RGB numerical value of a color can also be used as a parameter (e.g. 0x00FF00 if green).

(see example)

FORMAT

JPEG

Determines the format of the image when using the servlet or saving a barcode image to a file. Valid values are GIF and JPEG. The GIF files generated are typically 4 to 20 times smaller in size than the JPEG files.

LeftMarginCM

LEFT_MARGIN

.3

The left margin in CM. This may need to be increased for UPC and EAN barcode types.

NarrowToWideRatio

N

2

The wide to narrow ratio. A value of 2 (the default), means that wide bars will be 2 times the width of narrow bars. This setting is only valid for barcode types that support an N dimension such as Code 39 and ITF.

PixelsPerCM

na

38

The resolution used to create the X dimension and other measurements in pixels; Default is 38 Pixels Per CM which is about 96 DPI. 96 DPI is the resolution of the web browser; this setting works best when using the servlet or when creating images for the web browser. More information about setting the resolution and x dimension is provided in our Java Resolution KB Article.

RotationAngle

ROTATE

0

Indicates the angle of the barcode. Valid values are 0 (normal), 90 (vertical), 180 (inverted) and 270 (inverted vertical).

Font

TEXT_FONT

Arial

The font used to display the human readable code. To change the font in the class library, use the following syntax:
  Font newFont = new Font("Arial",Font.PLAIN,30);
  bc.setFont(newFont);

and to change the font in the applet or servlet, use this syntax:
 &TEXT_FONT=ARIAL|BOLD|12

Size

WIDTH, HEIGHT

Null

Sets the size in pixels of the barcode image. If the size is set manually, autoSize must be turned off. When using the applet and servlet, autoSize is automatically set to false if the HEIGHT and WIDTH are manually specified.

ProcessTilde

PT

TRUE

If true, (or "Y" when using the applet or servlet) the tilde (~) will be processed as explained here. The default is True.

ShowText

ST

Y

If this value is true, the human readable text will be displayed with the barcode. The applet and servlet convert "Y" to true and "N" to false.

TextMarginCM

TEXT_MARGIN

0.3

The amount of space between the barcode and the human readable text.

TopMarginCM

TOP_MARGIN

.2

The top margin of the barcode (also know as the quiet zone).

UPCESystem

UPCE_SYSTEM

0

The encoding system to be used for UPC-E compression, valid values are 0 and 1. The default is 0.

whiteBarIncrease

WHITEBAR_INCREASE

0

The percentage of the XDimension to increase the white bars. Valid options are 0-99.

XDimensionCM

X

.03

This setting adjusts the width in centimeters of narrow bars, which also adjusts the entire width of the barcode. More information about setting the resolution and x dimension is provided in our Java Resolution KB Article.

 Aztec Java Barcode Properties:
Properties and Methods (Refer to the index of fields and methods for more detailed information. Common properties such as X Dimension, Color and Margin are the same as noted in the Linear Properties.)
Class Properties Applet Default Comments
ErrorCorrectionLevel ECL 0 The Reed Solomon error correction level encoded in the symbol, specified as a value from 1 to 99. More error correction creates a larger symbol that can withstand more damage. The default setting of 0 performs automatic selection, which is usually a value of 23.
MessageAppend MA 1 Specifies the message appended across multiple symbols. Only valid if NumberOfSymbols is greater than 1.
NumberOfSymbols NS 1 Invokes Message Append across symbols.
ProcessTilde PT FALSE If true (or "Y" when using the applet for servlet) the tilde (~) will be processed. More information about the tilde is explained.
ReaderInitialization RI FALSE Adds the reader initialization symbol to the barcode for older scanners, which require it.
 DataMatrix Java Barcode Properties:
Properties and Methods (Refer to the index of fields and methods for more detailed information. Common properties such as X Dimension, Color and Margin are the same as noted in the Linear Properties.)
Class Properties Applet Default  Comments
EncodingMode MODE ASCII The encoding mode; valid values are E_ASCII, E_C40, E_TEXT or E_BASE256. When using the applet or servlet, exclude the "E_"; for example, use TEXT instead of E_TEXT. When using the JavaBean, use the "setEncodingMode" field and enter the appropriate number for the desired mode:
  • 0=E_ASCII (default)
  • 1=E_C40
  • 2=E_TEXT
  • 3=E_BASE256

More information about encoding modes.

(see class barCodeEncoder in the encoderDoc folder of the package) FORMAT JPEG Determines the format of the image when using the servlet or saving a barcode image to a file. Valid values are GIF and JPEG. The GIF files generated are typically 4 to 20 times smaller in size than the JPEG files.
PreferredFormat PFMT -1 Sets the preferred format represented by a number; valid values are from 0 (10X10) to 23 (144X144) and from 24 (8X18) to 29 (16X48); The default value is -1 which sets this to automatic; more information about preferred format. When using the applet or servlet, enter "C" and the format all uppercase. For example, for 16 x 48 enter C16X48. If the format chosen is too small for the data to be encoded, an appropriate square symbol will be selected.
ProcessTilde PT FALSE If true (or "Y" when using the applet for servlet) the tilde (~) will be processed. More information about the tilde is explained.

 PDF417 Java Barcode Properties:

Properties and Methods (Refer to the index of fields and methods for more detailed information. Common properties such as X Dimension, Color and Margin are the same as noted in the Linear Properties.)

Class Properties

Applet

Default

Comments

binaryCode

na

null

The data (as a byte array) to be encoded in the barcode

(see class barCodeEncoder in the encoderDoc folder of the package)

FORMAT

JPEG

Determines the format of the image when using the servlet or saving a barcode image to a file. Valid values are GIF and JPEG. The GIF files generated are typically 4 to 20 times smaller in size than the JPEG files.

macroPDFEnable

na

FALSE

Determines if the barcode being created will be part of a MacroPDF barcode.

macroPDFFileID

na

0

Sets the id of the barcode in a sequence of barcodes for MacroPDF. Each MacroPDF barcode in a sequence must have the same File ID so the reader can reassemble them correctly.

macroPDFLastSegment

na

FALSE

Determines if this barcode in a sequence of MacroPDF barcodes is the final segment.

macroPDFSegmentIndex

na

0

Sets the index number of this barcode in a sequence of MacroPDF barcodes.  Each barcode in the sequence must have a unique segment index. Readers will reassemble the barcode in the order of the segment index.

PDFColumns

COL

5

The number of columns in the symbol. Increasing this value creates a wider symbol that is less in height. Use this property to size the symbol.

PDFErrorCorrection

ECL

2

The error correction level for PDF417. The range is from 0 to 8.

PDFMode

MODE

BINARY

In the applet and servlet, the PDF417 mode can be set to NUMERIC, TEXT or BINARY. In the class library and JavaBean, the PDF417 mode can be set to one of the following numbers; 0=BINARY, 1=TEXT or 2=NUMERIC.

PDFRows

ROWS

0

The number of rows for PDF417. It is not recommended to set this number because the number of rows is automatically generated and an incorrect number can cause the symbol to be too large. Please set the PDF Columns instead to adjust the size.

Truncated

TRN

FALSE

A setting of true will enable truncation. A truncated PDF417 symbol is more area efficient than normal PDF417. By selecting this option, the right hand side of the PDF417 is removed or truncated. This option should only be used in clean environments since it is less resilient to damage. The servlet and applet converts "Y" to true and "N" to false.

XtoYRatio

XYR

3

The X multiple height of individual cells. This is usually set between 3 and 5. A higher number creates an easier to read, taller symbol.

 MaxiCode Java Barcode Properties:

Properties and Methods (Refer to the index of fields and methods for more detailed information. Common properties are the same as noted in the Linear Properties.)

Class Properties

Applet

Default

Comments

Data

DATA

JPEG

The data to be encoded in the barcode. For most purposes, such as creating symbols for UPS, data should be pre-formatted into a single string as described in the MaxiCode FAQ.

Mode

MODE

2

The encoding mode. A valid value is a number from 2 to 6.

Resolution

RESOLUTION

200

The resolution used to create the image in DPI; Default is 200 DPI, which is the minimum required for MaxiCode.

ProcessTilde

PT

TRUE

If true, (or "Y" when using the applet for servlet) the tilde (~) will be processed. More information about the tilde is explained.

 

Java Barcode Technical Support

Free product support may be obtained by reviewing articles that are documented at the Java Support Site and by searching resolved public help desk issues. Priority phone, e-mail and help desk support is provided up to 30 days after purchase. Additional priority phone, e-mail and help desk support may be obtained if a Priority Support and Upgrade Subscription is active.

 

© Copyright 2000-2008 IDAutomation.com, Inc., All Rights Reserved. Legal Notices.

Over 70% of Fortune 100 companies use IDAutomation's products to automate their businesses.