com.lowagie.text.pdf

Class Barcode

Known Direct Subclasses:
Barcode128, Barcode39, BarcodeCodabar, BarcodeEAN, BarcodeEANSUPP, BarcodeInter25, BarcodePostnet

public abstract class Barcode
extends java.lang.Object

Base class containing properties and methods commom to all barcode types.
Author:
Paulo Soares (psoares@consiste.pt)

Field Summary

static int
CODABAR
A type of barcode
static int
CODE128
A type of barcode
static int
CODE128_RAW
A type of barcode
static int
CODE128_UCC
A type of barcode
static int
EAN13
A type of barcode
static int
EAN8
A type of barcode
static int
PLANET
A type of barcode
static int
POSTNET
A type of barcode
static int
SUPP2
A type of barcode
static int
SUPP5
A type of barcode
static int
UPCA
A type of barcode
static int
UPCE
A type of barcode
protected float
barHeight
The height of the bars.
protected float
baseline
If positive, the text distance under the bars.
protected boolean
checksumText
Shows the generated checksum in the the text.
protected String
code
The code to generate.
protected int
codeType
The code type.
protected boolean
extended
Generates extended barcode 39.
protected BaseFont
font
The text font.
protected boolean
generateChecksum
The optional checksum generation.
protected boolean
guardBars
Show the guard bars for barcode EAN.
protected float
inkSpreading
The ink spreading.
protected float
n
The bar multiplier for wide bars or the distance between bars for Postnet and Planet.
protected float
size
The size of the text or the height of the shorter bar in Postnet.
protected boolean
startStopText
Show the start and stop character '*' in the text for the barcode 39 or 'ABCD' for codabar.
protected int
textAlignment
The text alignment.
protected float
x
The minimum bar width.

Method Summary

abstract java.awt.Image
createAwtImage(Color foreground, Color background)
Creates a java.awt.Image.
Image
createImageWithBarcode(PdfContentByte cb, Color barColor, Color textColor)
Creates an Image with the barcode.
PdfTemplate
createTemplateWithBarcode(PdfContentByte cb, Color barColor, Color textColor)
Creates a template with the barcode.
float
getBarHeight()
Gets the height of the bars.
abstract Rectangle
getBarcodeSize()
Gets the maximum area that the barcode and the text, if any, will occupy.
float
getBaseline()
Gets the text baseline.
String
getCode()
Gets the code to generate.
int
getCodeType()
Gets the code type.
BaseFont
getFont()
Gets the text font.
float
getInkSpreading()
Gets the amount of ink spreading.
float
getN()
Gets the bar multiplier for wide bars.
float
getSize()
Gets the size of the text.
int
getTextAlignment()
Gets the text alignment.
float
getX()
Gets the minimum bar width.
boolean
isChecksumText()
Gets the property to show the generated checksum in the the text.
boolean
isExtended()
Gets the property to generate extended barcode 39.
boolean
isGenerateChecksum()
Gets the optional checksum generation.
boolean
isGuardBars()
Gets the property to show the guard bars for barcode EAN.
boolean
isStartStopText()
Sets the property to show the start and stop character '*' in the text for the barcode 39.
abstract Rectangle
placeBarcode(PdfContentByte cb, Color barColor, Color textColor)
Places the barcode in a PdfContentByte.
void
setBarHeight(float barHeight)
Sets the height of the bars.
void
setBaseline(float baseline)
Sets the text baseline.
void
setChecksumText(boolean checksumText)
Sets the property to show the generated checksum in the the text.
void
setCode(String code)
Sets the code to generate.
void
setCodeType(int codeType)
Sets the code type.
void
setExtended(boolean extended)
Sets the property to generate extended barcode 39.
void
setFont(BaseFont font)
Sets the text font.
void
setGenerateChecksum(boolean generateChecksum)
Setter for property generateChecksum.
void
setGuardBars(boolean guardBars)
Sets the property to show the guard bars for barcode EAN.
void
setInkSpreading(float inkSpreading)
Sets the amount of ink spreading.
void
setN(float n)
Sets the bar multiplier for wide bars.
void
setSize(float size)
Sets the size of the text.
void
setStartStopText(boolean startStopText)
Gets the property to show the start and stop character '*' in the text for the barcode 39.
void
setTextAlignment(int textAlignment)
Sets the text alignment.
void
setX(float x)
Sets the minimum bar width.

Field Details

CODABAR

public static final int CODABAR
A type of barcode
Field Value:
12

CODE128

public static final int CODE128
A type of barcode
Field Value:
9

CODE128_RAW

public static final int CODE128_RAW
A type of barcode
Field Value:
11

CODE128_UCC

public static final int CODE128_UCC
A type of barcode
Field Value:
10

EAN13

public static final int EAN13
A type of barcode
Field Value:
1

EAN8

public static final int EAN8
A type of barcode
Field Value:
2

PLANET

public static final int PLANET
A type of barcode
Field Value:
8

POSTNET

public static final int POSTNET
A type of barcode
Field Value:
7

SUPP2

public static final int SUPP2
A type of barcode
Field Value:
5

SUPP5

public static final int SUPP5
A type of barcode
Field Value:
6

UPCA

public static final int UPCA
A type of barcode
Field Value:
3

UPCE

public static final int UPCE
A type of barcode
Field Value:
4

barHeight

protected float barHeight
The height of the bars.

baseline

protected float baseline
If positive, the text distance under the bars. If zero or negative, the text distance above the bars.

checksumText

protected boolean checksumText
Shows the generated checksum in the the text.

code

protected String code
The code to generate.

codeType

protected int codeType
The code type.

extended

protected boolean extended
Generates extended barcode 39.

font

protected BaseFont font
The text font. null if no text.

generateChecksum

protected boolean generateChecksum
The optional checksum generation.

guardBars

protected boolean guardBars
Show the guard bars for barcode EAN.

inkSpreading

protected float inkSpreading
The ink spreading.

n

protected float n
The bar multiplier for wide bars or the distance between bars for Postnet and Planet.

size

protected float size
The size of the text or the height of the shorter bar in Postnet.

startStopText

protected boolean startStopText
Show the start and stop character '*' in the text for the barcode 39 or 'ABCD' for codabar.

textAlignment

protected int textAlignment
The text alignment. Can be Element.ALIGN_LEFT, Element.ALIGN_CENTER or Element.ALIGN_RIGHT.

x

protected float x
The minimum bar width.

Method Details

createAwtImage

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

createImageWithBarcode

public Image createImageWithBarcode(PdfContentByte cb,
                                    Color barColor,
                                    Color textColor)
Creates an Image with the barcode.
Parameters:
cb - the PdfContentByte to create the Image. It serves no other use
barColor - the color of the bars. It can be null
textColor - the color of the text. It can be null
Returns:
the Image
See Also:
placeBarcode(PdfContentByte cb, Color barColor, Color textColor)

createTemplateWithBarcode

public PdfTemplate createTemplateWithBarcode(PdfContentByte cb,
                                             Color barColor,
                                             Color textColor)
Creates a template with the barcode.
Parameters:
cb - the PdfContentByte to create the template. It serves no other use
barColor - the color of the bars. It can be null
textColor - the color of the text. It can be null
Returns:
the template
See Also:
placeBarcode(PdfContentByte cb, Color barColor, Color textColor)

getBarHeight

public float getBarHeight()
Gets the height of the bars.
Returns:
the height of the bars

getBarcodeSize

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

getBaseline

public float getBaseline()
Gets the text baseline. If positive, the text distance under the bars. If zero or negative, the text distance above the bars.
Returns:
the baseline.

getCode

public String getCode()
Gets the code to generate.
Returns:
the code to generate

getCodeType

public int getCodeType()
Gets the code type.
Returns:
the code type

getFont

public BaseFont getFont()
Gets the text font. null if no text.
Returns:
the text font. null if no text

getInkSpreading

public float getInkSpreading()
Gets the amount of ink spreading.
Returns:
the ink spreading

getN

public float getN()
Gets the bar multiplier for wide bars.
Returns:
the bar multiplier for wide bars

getSize

public float getSize()
Gets the size of the text.
Returns:
the size of the text

getTextAlignment

public int getTextAlignment()
Gets the text alignment. Can be Element.ALIGN_LEFT, Element.ALIGN_CENTER or Element.ALIGN_RIGHT.
Returns:
the text alignment

getX

public float getX()
Gets the minimum bar width.
Returns:
the minimum bar width

isChecksumText

public boolean isChecksumText()
Gets the property to show the generated checksum in the the text.
Returns:
value of property checksumText

isExtended

public boolean isExtended()
Gets the property to generate extended barcode 39.
Returns:
value of property extended.

isGenerateChecksum

public boolean isGenerateChecksum()
Gets the optional checksum generation.
Returns:
the optional checksum generation

isGuardBars

public boolean isGuardBars()
Gets the property to show the guard bars for barcode EAN.
Returns:
value of property guardBars

isStartStopText

public boolean isStartStopText()
Sets the property to show the start and stop character '*' in the text for the barcode 39.
Returns:
value of property startStopText

placeBarcode

public abstract 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

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

setBarHeight

public void setBarHeight(float barHeight)
Sets the height of the bars.
Parameters:
barHeight - the height of the bars

setBaseline

public void setBaseline(float baseline)
Sets the text baseline. If positive, the text distance under the bars. If zero or negative, the text distance above the bars.
Parameters:
baseline - the baseline.

setChecksumText

public void setChecksumText(boolean checksumText)
Sets the property to show the generated checksum in the the text.
Parameters:
checksumText - new value of property checksumText

setCode

public void setCode(String code)
Sets the code to generate.
Parameters:
code - the code to generate

setCodeType

public void setCodeType(int codeType)
Sets the code type.
Parameters:
codeType - the code type

setExtended

public void setExtended(boolean extended)
Sets the property to generate extended barcode 39.
Parameters:
extended - new value of property extended

setFont

public void setFont(BaseFont font)
Sets the text font.
Parameters:
font - the text font. Set to null to suppress any text

setGenerateChecksum

public void setGenerateChecksum(boolean generateChecksum)
Setter for property generateChecksum.
Parameters:
generateChecksum - New value of property generateChecksum.

setGuardBars

public void setGuardBars(boolean guardBars)
Sets the property to show the guard bars for barcode EAN.
Parameters:
guardBars - new value of property guardBars

setInkSpreading

public void setInkSpreading(float inkSpreading)
Sets the amount of ink spreading. This value will be subtracted to the width of each bar. The actual value will depend on the ink and the printing medium.
Parameters:
inkSpreading - the ink spreading

setN

public void setN(float n)
Sets the bar multiplier for wide bars.
Parameters:
n - the bar multiplier for wide bars

setSize

public void setSize(float size)
Sets the size of the text.
Parameters:
size - the size of the text

setStartStopText

public void setStartStopText(boolean startStopText)
Gets the property to show the start and stop character '*' in the text for the barcode 39.
Parameters:
startStopText - new value of property startStopText

setTextAlignment

public void setTextAlignment(int textAlignment)
Sets the text alignment. Can be Element.ALIGN_LEFT, Element.ALIGN_CENTER or Element.ALIGN_RIGHT.
Parameters:
textAlignment - the text alignment

setX

public void setX(float x)
Sets the minimum bar width.
Parameters:
x - the minimum bar width