com.lowagie.text.pdf

Class 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

(package private) static byte[][]
BARS
The basic bar widths.
(package private) static int
EVEN
Marker for even parity.
(package private) static int[]
GUARD_EAN13
The bar positions that are guard bars.
(package private) static int[]
GUARD_EAN8
The bar positions that are guard bars.
(package private) static int[]
GUARD_EMPTY
The bar positions that are guard bars.
(package private) static int[]
GUARD_UPCA
The bar positions that are guard bars.
(package private) static int[]
GUARD_UPCE
The bar positions that are guard bars.
(package private) static int
ODD
Marker for odd parity.
(package private) static byte[][]
PARITY13
Sequence of parities to be used with EAN13.
(package private) static byte[][]
PARITY2
Sequence of parities to be used with supplemental 2.
(package private) static byte[][]
PARITY5
Sequence of parities to be used with supplemental 2.
(package private) static byte[][]
PARITYE
Sequence of parities to be used with UPCE.
(package private) static float[]
TEXTPOS_EAN13
The x coordinates to place the text.
(package private) static float[]
TEXTPOS_EAN8
The x coordinates to place the text.
(package private) static int
TOTALBARS_EAN13
The total number of bars for EAN13.
(package private) static int
TOTALBARS_EAN8
The total number of bars for EAN8.
(package private) static int
TOTALBARS_SUPP2
The total number of bars for supplemental 2.
(package private) static int
TOTALBARS_SUPP5
The total number of bars for supplemental 5.
(package private) static int
TOTALBARS_UPCE
The total number of bars for UPCE.

Fields inherited from class com.lowagie.text.pdf.Barcode

CODABAR, CODE128, CODE128_RAW, CODE128_UCC, EAN13, EAN8, PLANET, POSTNET, SUPP2, SUPP5, UPCA, UPCE, barHeight, baseline, checksumText, code, codeType, extended, font, generateChecksum, guardBars, inkSpreading, n, size, startStopText, textAlignment, 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.
java.awt.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

createAwtImage, createImageWithBarcode, createTemplateWithBarcode, getBarHeight, getBarcodeSize, getBaseline, getCode, getCodeType, getFont, getInkSpreading, getN, getSize, getTextAlignment, getX, isChecksumText, isExtended, isGenerateChecksum, isGuardBars, isStartStopText, placeBarcode, setBarHeight, setBaseline, setChecksumText, setCode, setCodeType, setExtended, setFont, setGenerateChecksum, setGuardBars, setInkSpreading, setN, setSize, setStartStopText, setTextAlignment, setX

Field Details

BARS

(package private) static byte[][] BARS
The basic bar widths.

EVEN

(package private) static final int EVEN
Marker for even parity.
Field Value:
1

GUARD_EAN13

(package private) static int[] GUARD_EAN13
The bar positions that are guard bars.

GUARD_EAN8

(package private) static int[] GUARD_EAN8
The bar positions that are guard bars.

GUARD_EMPTY

(package private) static int[] GUARD_EMPTY
The bar positions that are guard bars.

GUARD_UPCA

(package private) static int[] GUARD_UPCA
The bar positions that are guard bars.

GUARD_UPCE

(package private) static int[] GUARD_UPCE
The bar positions that are guard bars.

ODD

(package private) static final int ODD
Marker for odd parity.
Field Value:
0

PARITY13

(package private) static byte[][] PARITY13
Sequence of parities to be used with EAN13.

PARITY2

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

PARITY5

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

PARITYE

(package private) static byte[][] PARITYE
Sequence of parities to be used with UPCE.

TEXTPOS_EAN13

(package private) static float[] TEXTPOS_EAN13
The x coordinates to place the text.

TEXTPOS_EAN8

(package private) static float[] TEXTPOS_EAN8
The x coordinates to place the text.

TOTALBARS_EAN13

(package private) static final int TOTALBARS_EAN13
The total number of bars for EAN13.
Field Value:
59

TOTALBARS_EAN8

(package private) static final int TOTALBARS_EAN8
The total number of bars for EAN8.
Field Value:
43

TOTALBARS_SUPP2

(package private) static final int TOTALBARS_SUPP2
The total number of bars for supplemental 2.
Field Value:
13

TOTALBARS_SUPP5

(package private) static final int TOTALBARS_SUPP5
The total number of bars for supplemental 5.
Field Value:
31

TOTALBARS_UPCE

(package private) static final int TOTALBARS_UPCE
The total number of bars for UPCE.
Field Value:
33

Constructor Details

BarcodeEAN

public BarcodeEAN()
Creates new BarcodeEAN

Method Details

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

createAwtImage

public java.awt.Image createAwtImage(Color foreground,
                                     Color background)
Creates a java.awt.Image. This image only contains the bars without any text.
Overrides:
createAwtImage in interface Barcode
Parameters:
foreground - the color of the bars
background - the color of the background
Returns:
the image

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).
Overrides:
getBarcodeSize in interface Barcode
Returns:
the size the barcode occupies.

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

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

getBarsUPCE

public static byte[] getBarsUPCE(String _code)
Creates the bars for the barcode UPCE.
Parameters:
_code - the text with 8 digits
Returns:
the barcode

placeBarcode

public Rectangle placeBarcode(PdfContentByte cb,
                              Color barColor,
                              Color textColor)
Places the barcode in a PdfContentByte. The barcode is always placed at coodinates (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

Overrides:
placeBarcode in interface 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