Class BarcodeCodabar


  • public class BarcodeCodabar
    extends Barcode1D
    Implementation of the Codabar barcode.

    Codabar was designed to be accurately read even when printed on dot-matrix printers for multi-part forms such as FedEx airbills and blood bank forms, where variants are still in use as of 2007. Although newer symbologies hold more information in a smaller space.

    • Field Detail

      • CHARS

        private static final java.lang.String CHARS
        The index chars to BARS.
        See Also:
        Constant Field Values
      • BARS

        private static final byte[][] BARS
        The bars to generate the code.
    • Constructor Detail

      • BarcodeCodabar

        public BarcodeCodabar​(PdfDocument document,
                              PdfFont font)
        Creates a new BarcodeCodabar.
        Parameters:
        document - The document to which the barcode will be added
        font - The font to use
    • Method Detail

      • getBarsCodabar

        public static byte[] getBarsCodabar​(java.lang.String text)
        Creates the bars.
        Parameters:
        text - the text to create the bars
        Returns:
        the bars
      • calculateChecksum

        public static java.lang.String calculateChecksum​(java.lang.String code)
        Calculates the checksum.
        Parameters:
        code - the value to calculate the checksum for
        Returns:
        the checksum for the given value
      • 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 Barcode1D
        Returns:
        the size the barcode occupies.
      • placeBarcode

        public Rectangle placeBarcode​(PdfCanvas canvas,
                                      Color barColor,
                                      Color textColor)
        Places the barcode in a PdfCanvas. 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
        Specified by:
        placeBarcode in class Barcode1D
        Parameters:
        canvas - the PdfCanvas 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 Barcode1D
        Parameters:
        foreground - the color of the bars
        background - the color of the background
        Returns:
        the image