com.lowagie.text.pdf
Class BarcodeEAN

java.lang.Object
  extended by com.lowagie.text.pdf.Barcode
      extended by com.lowagie.text.pdf.BarcodeEAN

public class BarcodeEAN
extends Barcode

Generates barcodes in several formats: EAN13, EAN8, UPCA, UPCE, supplemental 2 and 5. The default parameters are:

x = 0.8f;
font = BaseFont.createFont("Helvetica", "winansi", false);
size = 8;
baseline = size;
barHeight = size * 3;
guardBars = true;
codeType = EAN13;
code = "";
 

Author:
Paulo Soares (psoares@consiste.pt)

Field Summary
private static byte[][] BARS
          The basic bar widths.
private static int EVEN
          Marker for even parity.
private static int[] GUARD_EAN13
          The bar positions that are guard bars.
private static int[] GUARD_EAN8
          The bar positions that are guard bars.
private static int[] GUARD_EMPTY
          The bar positions that are guard bars.
private static int[] GUARD_UPCA
          The bar positions that are guard bars.
private static int[] GUARD_UPCE
          The bar positions that are guard bars.
private static int ODD
          Marker for odd parity.
private static byte[][] PARITY13
          Sequence of parities to be used with EAN13.
private static byte[][] PARITY2
          Sequence of parities to be used with supplemental 2.
private static byte[][] PARITY5
          Sequence of parities to be used with supplemental 2.
private static byte[][] PARITYE
          Sequence of parities to be used with UPCE.
private static float[] TEXTPOS_EAN13
          The x coordinates to place the text.
private static float[] TEXTPOS_EAN8
          The x coordinates to place the text.
private static int TOTALBARS_EAN13
          The total number of bars for EAN13.
private static int TOTALBARS_EAN8
          The total number of bars for EAN8.
private static int TOTALBARS_SUPP2
          The total number of bars for supplemental 2.
private static int TOTALBARS_SUPP5
          The total number of bars for supplemental 5.
private static int TOTALBARS_UPCE
          The total number of bars for UPCE.
 
Fields inherited from class com.lowagie.text.pdf.Barcode
altText, barHeight, baseline, checksumText, CODABAR, code, CODE128, CODE128_RAW, CODE128_UCC, codeType, EAN13, EAN8, extended, font, generateChecksum, guardBars, inkSpreading, n, PLANET, POSTNET, size, startStopText, SUPP2, SUPP5, textAlignment, UPCA, UPCE, x
 
Constructor Summary
BarcodeEAN()
          Creates new BarcodeEAN
 
Method Summary
static int calculateEANParity(String code)
          Calculates the EAN parity character.
static String convertUPCAtoUPCE(String text)
          Converts an UPCA code into an UPCE code.
 Image createAwtImage(Color foreground, Color background)
          Creates a java.awt.Image.
 Rectangle getBarcodeSize()
          Gets the maximum area that the barcode and the text, if any, will occupy.
static byte[] getBarsEAN13(String _code)
          Creates the bars for the barcode EAN13 and UPCA.
static byte[] getBarsEAN8(String _code)
          Creates the bars for the barcode EAN8.
static byte[] getBarsSupplemental2(String _code)
          Creates the bars for the barcode supplemental 2.
static byte[] getBarsSupplemental5(String _code)
          Creates the bars for the barcode supplemental 5.
static byte[] getBarsUPCE(String _code)
          Creates the bars for the barcode UPCE.
 Rectangle placeBarcode(PdfContentByte cb, Color barColor, Color textColor)
          Places the barcode in a PdfContentByte.
 
Methods inherited from class com.lowagie.text.pdf.Barcode
createImageWithBarcode, createTemplateWithBarcode, getAltText, getBarHeight, getBaseline, getCode, getCodeType, getFont, getInkSpreading, getN, getSize, getTextAlignment, getX, isChecksumText, isExtended, isGenerateChecksum, isGuardBars, isStartStopText, setAltText, setBarHeight, setBaseline, setChecksumText, setCode, setCodeType, setExtended, setFont, setGenerateChecksum, setGuardBars, setInkSpreading, setN, setSize, setStartStopText, setTextAlignment, setX
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

GUARD_EMPTY

private static final int[] GUARD_EMPTY
The bar positions that are guard bars.


GUARD_UPCA

private static final int[] GUARD_UPCA
The bar positions that are guard bars.


GUARD_EAN13

private static final int[] GUARD_EAN13
The bar positions that are guard bars.


GUARD_EAN8

private static final int[] GUARD_EAN8
The bar positions that are guard bars.


GUARD_UPCE

private static final int[] GUARD_UPCE
The bar positions that are guard bars.


TEXTPOS_EAN13

private static final float[] TEXTPOS_EAN13
The x coordinates to place the text.


TEXTPOS_EAN8

private static final float[] TEXTPOS_EAN8
The x coordinates to place the text.


BARS

private static final byte[][] BARS
The basic bar widths.


TOTALBARS_EAN13

private static final int TOTALBARS_EAN13
The total number of bars for EAN13.

See Also:
Constant Field Values

TOTALBARS_EAN8

private static final int TOTALBARS_EAN8
The total number of bars for EAN8.

See Also:
Constant Field Values

TOTALBARS_UPCE

private static final int TOTALBARS_UPCE
The total number of bars for UPCE.

See Also:
Constant Field Values

TOTALBARS_SUPP2

private static final int TOTALBARS_SUPP2
The total number of bars for supplemental 2.

See Also:
Constant Field Values

TOTALBARS_SUPP5

private static final int TOTALBARS_SUPP5
The total number of bars for supplemental 5.

See Also:
Constant Field Values

ODD

private static final int ODD
Marker for odd parity.

See Also:
Constant Field Values

EVEN

private static final int EVEN
Marker for even parity.

See Also:
Constant Field Values

PARITY13

private static final byte[][] PARITY13
Sequence of parities to be used with EAN13.


PARITY2

private static final byte[][] PARITY2
Sequence of parities to be used with supplemental 2.


PARITY5

private static final byte[][] PARITY5
Sequence of parities to be used with supplemental 2.


PARITYE

private static final byte[][] PARITYE
Sequence of parities to be used with UPCE.

Constructor Detail

BarcodeEAN

public BarcodeEAN()
Creates new BarcodeEAN

Method Detail

calculateEANParity

public static int calculateEANParity(String code)
Calculates the EAN parity character.

Parameters:
code - the code
Returns:
the parity character

convertUPCAtoUPCE

public static String convertUPCAtoUPCE(String text)
Converts an UPCA code into an UPCE code. If the code can not be converted a null is returned.

Parameters:
text - the code to convert. It must have 12 numeric characters
Returns:
the 8 converted digits or null if the code could not be converted

getBarsEAN13

public static byte[] getBarsEAN13(String _code)
Creates the bars for the barcode EAN13 and UPCA.

Parameters:
_code - the text with 13 digits
Returns:
the barcode

getBarsEAN8

public static byte[] getBarsEAN8(String _code)
Creates the bars for the barcode EAN8.

Parameters:
_code - the text with 8 digits
Returns:
the barcode

getBarsUPCE

public static byte[] getBarsUPCE(String _code)
Creates the bars for the barcode UPCE.

Parameters:
_code - the text with 8 digits
Returns:
the barcode

getBarsSupplemental2

public static byte[] getBarsSupplemental2(String _code)
Creates the bars for the barcode supplemental 2.

Parameters:
_code - the text with 2 digits
Returns:
the barcode

getBarsSupplemental5

public static byte[] getBarsSupplemental5(String _code)
Creates the bars for the barcode supplemental 5.

Parameters:
_code - the text with 5 digits
Returns:
the barcode

getBarcodeSize

public Rectangle getBarcodeSize()
Gets the maximum area that the barcode and the text, if any, will occupy. The lower left corner is always (0, 0).

Specified by:
getBarcodeSize in class Barcode
Returns:
the size the barcode occupies.

placeBarcode

public Rectangle placeBarcode(PdfContentByte cb,
                              Color barColor,
                              Color textColor)
Places the barcode in a PdfContentByte. The barcode is always placed at coordinates (0, 0). Use the translation matrix to move it elsewhere.

The bars and text are written in the following colors:

barColor

textColor

Result

null

null

bars and text painted with current fill color

barColor

null

bars and text painted with barColor

null

textColor

bars painted with current color
text painted with textColor

barColor

textColor

bars painted with barColor
text painted with textColor

Specified by:
placeBarcode in class Barcode
Parameters:
cb - the PdfContentByte where the barcode will be placed
barColor - the color of the bars. It can be null
textColor - the color of the text. It can be null
Returns:
the dimensions the barcode occupies

createAwtImage

public Image createAwtImage(Color foreground,
                            Color background)
Creates a java.awt.Image. This image only contains the bars without any text.

Specified by:
createAwtImage in class Barcode
Parameters:
foreground - the color of the bars
background - the color of the background
Returns:
the image

Hosted by Hostbasket