## com.lowagie.text.pdf
Class Barcode39

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

    public class Barcode39

extends Barcode

Implements the code 39 and code 39 extended. The default parameters are:

    x = 0.8f;
    n = 2;
    font = BaseFont.createFont("Helvetica", "winansi", false);
    size = 8;
    baseline = size;
    barHeight = size * 3;
    textAlignment = Element.ALIGN_CENTER;
    generateChecksum = false;
    checksumText = false;
    startStopText = true;
    extended = false;

Author:
  Paulo Soares (psoares@consiste.pt)

Field Summary
`(package private) static byte[][]` `BARS` The bars to generate the code.
`(package private) static java.lang.String` `CHARS` The index chars to `BARS`.
`(package private) static java.lang.String` `EXTENDED` The character combinations to make the code 39 extended.

Fields inherited from class com.lowagie.text.pdf.Barcode
`altText, barHeight, baseline, checksumText, CODABAR, code, CODE128, CODE128_RAW, CODE128_UCC, codeType, EAN13, EAN8, extended, font, generateChecksum, guardBars, inkSpreading, n, PLANET, POSTNET, size, startStopText, SUPP2, SUPP5, textAlignment, UPCA, UPCE, x`

Constructor Summary
`Barcode39()` Creates a new Barcode39.

Method Summary
`java.awt.Image` `createAwtImage(java.awt.Color foreground, java.awt.Color background)` Creates a `java.awt.Image`.
`Rectangle` `getBarcodeSize()` Gets the maximum area that the barcode and the text, if any, will occupy.
`static byte[]` `getBarsCode39(java.lang.String text)` Creates the bars.
`(package private) static char` `getChecksum(java.lang.String text)` Calculates the checksum.
`static java.lang.String` `getCode39Ex(java.lang.String text)` Converts the extended text into a normal, escaped text, ready to generate bars.
`Rectangle` `placeBarcode(PdfContentByte cb, java.awt.Color barColor, java.awt.Color textColor)` Places the barcode in a `PdfContentByte`.

Methods inherited from class com.lowagie.text.pdf.Barcode

`createImageWithBarcode, createTemplateWithBarcode, getAltText, getBarHeight, getBaseline, getCode, getCodeType, getFont, getInkSpreading, getN, getSize, getTextAlignment, getX, isChecksumText, isExtended, isGenerateChecksum, isGuardBars, isStartStopText, setAltText, setBarHeight, setBaseline, setChecksumText, setCode, setCodeType, setExtended, setFont, setGenerateChecksum, setGuardBars, setInkSpreading, setN, setSize, setStartStopText, setTextAlignment, setX`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### BARS

    static byte[][] BARS

  The bars to generate the code.

### CHARS

    static java.lang.String CHARS

  The index chars to `BARS`.

### EXTENDED

    static java.lang.String EXTENDED

  The character combinations to make the code 39 extended.

Constructor Detail

### Barcode39

    public Barcode39()

  Creates a new Barcode39.

Method Detail

### getBarsCode39

    public static byte[] getBarsCode39(java.lang.String text)

  Creates the bars.

  Parameters:
    `text` - the text to create the bars. This text does not include the start and stop characters
  Returns:
    the bars

### getCode39Ex

    public static java.lang.String getCode39Ex(java.lang.String text)

  Converts the extended text into a normal, escaped text, ready to generate bars.

  Parameters:
    `text` - the extended text
  Returns:
    the escaped text

### getChecksum

    static char getChecksum(java.lang.String text)

  Calculates the checksum.

  Parameters:
    `text` - the text
  Returns:
    the checksum

### 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,
                                  java.awt.Color barColor,
                                  java.awt.Color textColor)

  Places the barcode in a `PdfContentByte`. The barcode is always placed at coodinates (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`

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

  Specified by:
    `createAwtImage` in class `Barcode`
  Parameters:
    `foreground` - the color of the bars
    `background` - the color of the background
  Returns:
    the image