com.lowagie.text.pdf
Class Barcode

java.lang.Object
  extended by com.lowagie.text.pdf.Barcode
Direct Known Subclasses:
Barcode128, Barcode39, BarcodeCodabar, BarcodeEAN, BarcodeEANSUPP, BarcodeInter25, BarcodePostnet

public abstract class Barcode
extends java.lang.Object

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

Author:
Paulo Soares (psoares@consiste.pt)

Field Summary
protected  java.lang.String altText
          The alternate text to be used, if present.
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.
static int CODABAR
          A type of barcode
protected  java.lang.String code
          The code to generate.
static int CODE128
          A type of barcode
static int CODE128_RAW
          A type of barcode
static int CODE128_UCC
          A type of barcode
protected  int codeType
          The code type.
static int EAN13
          A type of barcode
static int EAN8
          A type of barcode
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.
static int PLANET
          A type of barcode
static int POSTNET
          A type of barcode
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.
static int SUPP2
          A type of barcode
static int SUPP5
          A type of barcode
protected  int textAlignment
          The text alignment.
static int UPCA
          A type of barcode
static int UPCE
          A type of barcode
protected  float x
          The minimum bar width.
 
Constructor Summary
Barcode()
           
 
Method Summary
abstract  java.awt.Image createAwtImage(java.awt.Color foreground, java.awt.Color background)
          Creates a java.awt.Image.
 Image createImageWithBarcode(PdfContentByte cb, java.awt.Color barColor, java.awt.Color textColor)
          Creates an Image with the barcode.
 PdfTemplate createTemplateWithBarcode(PdfContentByte cb, java.awt.Color barColor, java.awt.Color textColor)
          Creates a template with the barcode.
 java.lang.String getAltText()
          Gets the alternate text.
abstract  Rectangle getBarcodeSize()
          Gets the maximum area that the barcode and the text, if any, will occupy.
 float getBarHeight()
          Gets the height of the bars.
 float getBaseline()
          Gets the text baseline.
 java.lang.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, java.awt.Color barColor, java.awt.Color textColor)
          Places the barcode in a PdfContentByte.
 void setAltText(java.lang.String altText)
          Sets the alternate text.
 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(java.lang.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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EAN13

public static final int EAN13
A type of barcode

See Also:
Constant Field Values

EAN8

public static final int EAN8
A type of barcode

See Also:
Constant Field Values

UPCA

public static final int UPCA
A type of barcode

See Also:
Constant Field Values

UPCE

public static final int UPCE
A type of barcode

See Also:
Constant Field Values

SUPP2

public static final int SUPP2
A type of barcode

See Also:
Constant Field Values

SUPP5

public static final int SUPP5
A type of barcode

See Also:
Constant Field Values

POSTNET

public static final int POSTNET
A type of barcode

See Also:
Constant Field Values

PLANET

public static final int PLANET
A type of barcode

See Also:
Constant Field Values

CODE128

public static final int CODE128
A type of barcode

See Also:
Constant Field Values

CODE128_UCC

public static final int CODE128_UCC
A type of barcode

See Also:
Constant Field Values

CODE128_RAW

public static final int CODE128_RAW
A type of barcode

See Also:
Constant Field Values

CODABAR

public static final int CODABAR
A type of barcode

See Also:
Constant Field Values

x

protected float x
The minimum bar width.


n

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


font

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


size

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


baseline

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


barHeight

protected float barHeight
The height of the bars.


textAlignment

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


generateChecksum

protected boolean generateChecksum
The optional checksum generation.


checksumText

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


startStopText

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


extended

protected boolean extended
Generates extended barcode 39.


code

protected java.lang.String code
The code to generate.


guardBars

protected boolean guardBars
Show the guard bars for barcode EAN.


codeType

protected int codeType
The code type.


inkSpreading

protected float inkSpreading
The ink spreading.


altText

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

Constructor Detail

Barcode

public Barcode()
Method Detail

getX

public float getX()
Gets the minimum bar width.

Returns:
the minimum bar width

setX

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

Parameters:
x - the minimum bar width

getN

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

Returns:
the bar multiplier for wide bars

setN

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

Parameters:
n - the bar multiplier for wide bars

getFont

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

Returns:
the text font. null if no text

setFont

public void setFont(BaseFont font)
Sets the text font.

Parameters:
font - the text font. Set to null to suppress any text

getSize

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

Returns:
the size of the text

setSize

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

Parameters:
size - the size of the text

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.

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.

getBarHeight

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

Returns:
the height of the bars

setBarHeight

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

Parameters:
barHeight - the height of the bars

getTextAlignment

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

Returns:
the text alignment

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

isGenerateChecksum

public boolean isGenerateChecksum()
Gets the optional checksum generation.

Returns:
the optional checksum generation

setGenerateChecksum

public void setGenerateChecksum(boolean generateChecksum)
Setter for property generateChecksum.

Parameters:
generateChecksum - New value of property generateChecksum.

isChecksumText

public boolean isChecksumText()
Gets the property to show the generated checksum in the the text.

Returns:
value of property checksumText

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

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

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

isExtended

public boolean isExtended()
Gets the property to generate extended barcode 39.

Returns:
value of property extended.

setExtended

public void setExtended(boolean extended)
Sets the property to generate extended barcode 39.

Parameters:
extended - new value of property extended

getCode

public java.lang.String getCode()
Gets the code to generate.

Returns:
the code to generate

setCode

public void setCode(java.lang.String code)
Sets the code to generate.

Parameters:
code - the code to generate

isGuardBars

public boolean isGuardBars()
Gets the property to show the guard bars for barcode EAN.

Returns:
value of property guardBars

setGuardBars

public void setGuardBars(boolean guardBars)
Sets the property to show the guard bars for barcode EAN.

Parameters:
guardBars - new value of property guardBars

getCodeType

public int getCodeType()
Gets the code type.

Returns:
the code type

setCodeType

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

Parameters:
codeType - the code type

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.

placeBarcode

public abstract Rectangle placeBarcode(PdfContentByte cb,
                                       java.awt.Color barColor,
                                       java.awt.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

createTemplateWithBarcode

public PdfTemplate createTemplateWithBarcode(PdfContentByte cb,
                                             java.awt.Color barColor,
                                             java.awt.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)

createImageWithBarcode

public Image createImageWithBarcode(PdfContentByte cb,
                                    java.awt.Color barColor,
                                    java.awt.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)

createAwtImage

public abstract java.awt.Image createAwtImage(java.awt.Color foreground,
                                              java.awt.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

getInkSpreading

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

Returns:
the ink spreading

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

getAltText

public java.lang.String getAltText()
Gets the alternate text.

Returns:
the alternate text

setAltText

public void setAltText(java.lang.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


iText 2.1.7