Class Barcode

java.lang.Object
com.itextpdf.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 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, BaseColor barColor, BaseColor 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, BaseColor barColor, BaseColor 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, BaseColor barColor, BaseColor 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:
    • 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
    • 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