com.lowagie.text.pdf

Class Barcode

public abstract class Barcode extends Object

Base class containing properties and methods common to all barcode types.

Author: Paulo Soares (psoares@consiste.pt)

Field Summary
protected StringaltText
The alternate text to be used, if present.
protected floatbarHeight
The height of the bars.
protected floatbaseline
If positive, the text distance under the bars.
protected booleanchecksumText
Shows the generated checksum in the the text.
protected Stringcode
The code to generate.
protected intcodeType
The code type.
static intCODABAR
A type of barcode
static intCODE128
A type of barcode
static intCODE128_RAW
A type of barcode
static intCODE128_UCC
A type of barcode
protected booleanextended
Generates extended barcode 39.
static intEAN13
A type of barcode
static intEAN8
A type of barcode
protected BaseFontfont
The text font.
protected booleangenerateChecksum
The optional checksum generation.
protected booleanguardBars
Show the guard bars for barcode EAN.
protected floatinkSpreading
The ink spreading.
protected floatn
The bar multiplier for wide bars or the distance between bars for Postnet and Planet.
static intPLANET
A type of barcode
static intPOSTNET
A type of barcode
protected floatsize
The size of the text or the height of the shorter bar in Postnet.
protected booleanstartStopText
Show the start and stop character '*' in the text for the barcode 39 or 'ABCD' for codabar.
static intSUPP2
A type of barcode
static intSUPP5
A type of barcode
protected inttextAlignment
The text alignment.
static intUPCA
A type of barcode
static intUPCE
A type of barcode
protected floatx
The minimum bar width.
Method Summary
abstract ImagecreateAwtImage(Color foreground, Color background)
Creates a java.awt.Image.
ImagecreateImageWithBarcode(PdfContentByte cb, Color barColor, Color textColor)
Creates an Image with the barcode.
PdfTemplatecreateTemplateWithBarcode(PdfContentByte cb, Color barColor, Color textColor)
Creates a template with the barcode.
StringgetAltText()
Gets the alternate text.
abstract RectanglegetBarcodeSize()
Gets the maximum area that the barcode and the text, if any, will occupy.
floatgetBarHeight()
Gets the height of the bars.
floatgetBaseline()
Gets the text baseline.
StringgetCode()
Gets the code to generate.
intgetCodeType()
Gets the code type.
BaseFontgetFont()
Gets the text font.
floatgetInkSpreading()
Gets the amount of ink spreading.
floatgetN()
Gets the bar multiplier for wide bars.
floatgetSize()
Gets the size of the text.
intgetTextAlignment()
Gets the text alignment.
floatgetX()
Gets the minimum bar width.
booleanisChecksumText()
Gets the property to show the generated checksum in the the text.
booleanisExtended()
Gets the property to generate extended barcode 39.
booleanisGenerateChecksum()
Gets the optional checksum generation.
booleanisGuardBars()
Gets the property to show the guard bars for barcode EAN.
booleanisStartStopText()
Sets the property to show the start and stop character '*' in the text for the barcode 39.
abstract RectangleplaceBarcode(PdfContentByte cb, Color barColor, Color textColor)
Places the barcode in a PdfContentByte.
voidsetAltText(String altText)
Sets the alternate text.
voidsetBarHeight(float barHeight)
Sets the height of the bars.
voidsetBaseline(float baseline)
Sets the text baseline.
voidsetChecksumText(boolean checksumText)
Sets the property to show the generated checksum in the the text.
voidsetCode(String code)
Sets the code to generate.
voidsetCodeType(int codeType)
Sets the code type.
voidsetExtended(boolean extended)
Sets the property to generate extended barcode 39.
voidsetFont(BaseFont font)
Sets the text font.
voidsetGenerateChecksum(boolean generateChecksum)
Setter for property generateChecksum.
voidsetGuardBars(boolean guardBars)
Sets the property to show the guard bars for barcode EAN.
voidsetInkSpreading(float inkSpreading)
Sets the amount of ink spreading.
voidsetN(float n)
Sets the bar multiplier for wide bars.
voidsetSize(float size)
Sets the size of the text.
voidsetStartStopText(boolean startStopText)
Gets the property to show the start and stop character '*' in the text for the barcode 39.
voidsetTextAlignment(int textAlignment)
Sets the text alignment.
voidsetX(float x)
Sets the minimum bar width.

Field Detail

altText

protected String altText
The alternate text to be used, if present.

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.

CODABAR

public static final int CODABAR
A type of barcode

CODE128

public static final int CODE128
A type of barcode

CODE128_RAW

public static final int CODE128_RAW
A type of barcode

CODE128_UCC

public static final int CODE128_UCC
A type of barcode

extended

protected boolean extended
Generates extended barcode 39.

EAN13

public static final int EAN13
A type of barcode

EAN8

public static final int EAN8
A type of barcode

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.

PLANET

public static final int PLANET
A type of barcode

POSTNET

public static final int POSTNET
A type of barcode

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.

SUPP2

public static final int SUPP2
A type of barcode

SUPP5

public static final int SUPP5
A type of barcode

textAlignment

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

UPCA

public static final int UPCA
A type of barcode

UPCE

public static final int UPCE
A type of barcode

x

protected float x
The minimum bar width.

Method Detail

createAwtImage

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

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: Barcode

getAltText

public String getAltText()
Gets the alternate text.

Returns: the alternate text

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.

getBarHeight

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

Returns: the height of the bars

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

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

setAltText

public void setAltText(String altText)
Sets the alternate text. If present, this text will be used instead of the text derived from the supplied code.

Parameters: altText the alternate text

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