Class Barcode128

java.lang.Object
com.lowagie.text.pdf.Barcode
com.lowagie.text.pdf.Barcode128

public class Barcode128 extends Barcode
Implements the code 128 and UCC/EAN-128. Other symbologies are allowed in raw mode.

The code types allowed are:

  • CODE128 - plain barcode 128.
  • CODE128_UCC - support for UCC/EAN-128 with a full list of AI.
  • CODE128_RAW - raw mode. The code attribute has the actual codes from 0 to 105 followed by '\uffff' and the human readable text.
The default parameters are:
 x = 0.8f;
 font = BaseFont.createFont("Helvetica", "winansi", false);
 size = 8;
 baseline = size;
 barHeight = size * 3;
 textAlignment = Element.ALIGN_CENTER;
 codeType = CODE128;
 
  • Field Details

  • Constructor Details

    • Barcode128

      public Barcode128()
      Creates new Barcode128
  • Method Details

    • removeFNC1

      public static String removeFNC1(String code)
      Removes the FNC1 codes in the text.
      Parameters:
      code - the text to clean
      Returns:
      the cleaned text
    • getHumanReadableUCCEAN

      public static String getHumanReadableUCCEAN(String code)
      Gets the human readable text of a sequence of AI.
      Parameters:
      code - the text
      Returns:
      the human readable text
    • isNextDigits

      static boolean isNextDigits(String text, int textIndex, int numDigits)
      Returns true if the next numDigits starting from index textIndex are numeric skipping any FNC1.
      Parameters:
      text - the text to check
      textIndex - where to check from
      numDigits - the number of digits to check
      Returns:
      the check result
    • getPackedRawDigits

      static String getPackedRawDigits(String text, int textIndex, int numDigits)
      Packs the digits for charset C also considering FNC1. It assumes that all the parameters are valid.
      Parameters:
      text - the text to pack
      textIndex - where to pack from
      numDigits - the number of digits to pack. It is always an even number
      Returns:
      the packed digits, two digits per character
    • getRawText

      public static String getRawText(String text, boolean ucc)
      Converts the human readable text to the characters needed to create a barcode. Some optimization is done to get the shortest code.
      Parameters:
      text - the text to convert
      ucc - true if it is an UCC/EAN-128. In this case the character FNC1 is added
      Returns:
      the code ready to be fed to getBarsCode128Raw()
    • getBarsCode128Raw

      public static byte[] getBarsCode128Raw(String text)
      Generates the bars. The input has the actual barcodes, not the human readable text.
      Parameters:
      text - the barcode
      Returns:
      the bars
    • getBarcodeSize

      public Rectangle getBarcodeSize()
      Gets the maximum area that the barcode and the text, if any, will occupy. The lower left corner is always (0, 0).
      Specified by:
      getBarcodeSize in class Barcode
      Returns:
      the size the barcode occupies.
    • placeBarcode

      public 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

      Specified by:
      placeBarcode in class Barcode
      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
    • createAwtImage

      public Image createAwtImage(Color foreground, Color background)
      Creates a java.awt.Image. This image only contains the bars without any text.
      Specified by:
      createAwtImage in class Barcode
      Parameters:
      foreground - the color of the bars
      background - the color of the background
      Returns:
      the image
    • setCode

      public void setCode(String code)
      Sets the code to generate. If it's an UCC code and starts with '(' it will be split by the AI. This code in UCC mode is valid:

      (01)00000090311314(10)ABC123(15)060916

      Overrides:
      setCode in class Barcode
      Parameters:
      code - the code to generate