Class Barcode

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

public abstract class Barcode extends Object
Base class containing properties and methods common to all barcode types.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected String
    The alternate text to be used, if present.
    protected float
    The height of the bars.
    protected float
    If positive, the text distance under the bars.
    protected boolean
    Shows the generated checksum in the the text.
    static final int
    A type of barcode
    protected String
    The code to generate.
    static final int
    A type of barcode
    static final int
    A type of barcode
    static final int
    A type of barcode
    protected int
    The code type.
    static final int
    A type of barcode
    static final int
    A type of barcode
    protected boolean
    Generates extended barcode 39.
    protected BaseFont
    The text font.
    protected boolean
    The optional checksum generation.
    protected boolean
    Show the guard bars for barcode EAN.
    protected float
    The ink spreading.
    protected float
    The bar multiplier for wide bars or the distance between bars for Postnet and Planet.
    static final int
    A type of barcode
    static final int
    A type of barcode
    protected float
    The size of the text or the height of the shorter bar in Postnet.
    protected boolean
    Show the start and stop character '*' in the text for the barcode 39 or 'ABCD' for codabar.
    static final int
    A type of barcode
    static final int
    A type of barcode
    protected int
    The text alignment.
    static final int
    A type of barcode
    static final int
    A type of barcode
    protected float
    The minimum bar width.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract Image
    createAwtImage(Color foreground, Color background)
    Creates a java.awt.Image.
    createImageWithBarcode(PdfContentByte cb, Color barColor, Color textColor)
    Creates an Image with the barcode.
    Creates a template with the barcode.
    Gets the alternate text.
    abstract Rectangle
    Gets the maximum area that the barcode and the text, if any, will occupy.
    float
    Gets the height of the bars.
    float
    Gets the text baseline.
    Gets the code to generate.
    int
    Gets the code type.
    Gets the text font.
    float
    Gets the amount of ink spreading.
    float
    Gets the bar multiplier for wide bars.
    float
    Gets the size of the text.
    int
    Gets the text alignment.
    float
    Gets the minimum bar width.
    boolean
    Gets the property to show the generated checksum in the the text.
    boolean
    Gets the property to generate extended barcode 39.
    boolean
    Gets the optional checksum generation.
    boolean
    Gets the property to show the guard bars for barcode EAN.
    boolean
    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
    setAltText(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
    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
    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 Details

    • EAN13

      public static final int EAN13
      A type of barcode
      See Also:
    • EAN8

      public static final int EAN8
      A type of barcode
      See Also:
    • UPCA

      public static final int UPCA
      A type of barcode
      See Also:
    • UPCE

      public static final int UPCE
      A type of barcode
      See Also:
    • SUPP2

      public static final int SUPP2
      A type of barcode
      See Also:
    • SUPP5

      public static final int SUPP5
      A type of barcode
      See Also:
    • POSTNET

      public static final int POSTNET
      A type of barcode
      See Also:
    • PLANET

      public static final int PLANET
      A type of barcode
      See Also:
    • CODE128

      public static final int CODE128
      A type of barcode
      See Also:
    • CODE128_UCC

      public static final int CODE128_UCC
      A type of barcode
      See Also:
    • CODE128_RAW

      public static final int CODE128_RAW
      A type of barcode
      See Also:
    • CODABAR

      public static final int CODABAR
      A type of barcode
      See Also:
    • 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 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 String altText
      The alternate text to be used, if present.
  • Constructor Details

    • Barcode

      public Barcode()
  • Method Details

    • 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 String getCode()
      Gets the code to generate.
      Returns:
      the code to generate
    • setCode

      public void setCode(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, 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:

      table of the colors of the bars and text

      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, 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:
    • 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:
    • 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
    • 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 String getAltText()
      Gets the alternate text.
      Returns:
      the alternate text
    • 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