Class BarcodePDF417

java.lang.Object
com.lowagie.text.pdf.BarcodePDF417

public class BarcodePDF417 extends Object
Generates the 2D barcode PDF417. Supports dimensioning auto-sizing, fixed and variable sizes, automatic and manual error levels, raw codeword input, codeword size optimization and bitmap inversion. The output can be a CCITT G4 Image or a raw bitmap.
Author:
Paulo Soares (psoares@consiste.pt)
  • Field Details

  • Constructor Details

    • BarcodePDF417

      public BarcodePDF417()
      Creates a new BarcodePDF417 with the default settings.
  • Method Details

    • setMacroSegmentId

      public void setMacroSegmentId(int id)
      Sets the segment id for macro PDF417 encoding
      Parameters:
      id - the id (starting at 0)
      See Also:
    • setMacroSegmentCount

      public void setMacroSegmentCount(int cnt)
      Sets the segment count for macro PDF417 encoding
      Parameters:
      cnt - the number of macro segments
      See Also:
    • setMacroFileId

      public void setMacroFileId(String id)
      Sets the File ID for macro PDF417 encoding
      Parameters:
      id - the file id
    • checkSegmentType

      protected boolean checkSegmentType(BarcodePDF417.Segment segment, char type)
    • getSegmentLength

      protected int getSegmentLength(BarcodePDF417.Segment segment)
    • setDefaultParameters

      public void setDefaultParameters()
      Set the default settings that correspond to PDF417_USE_ASPECT_RATIO and PDF417_AUTO_ERROR_LEVEL.
    • outCodeword17

      protected void outCodeword17(int codeword)
    • outCodeword18

      protected void outCodeword18(int codeword)
    • outCodeword

      protected void outCodeword(int codeword)
    • outStopPattern

      protected void outStopPattern()
    • outStartPattern

      protected void outStartPattern()
    • outPaintCode

      protected void outPaintCode()
    • calculateErrorCorrection

      protected void calculateErrorCorrection(int dest)
    • getTextTypeAndValue

      protected int getTextTypeAndValue(int maxLength, int idx)
    • textCompaction

      protected void textCompaction(int start, int length)
    • basicNumberCompaction

      protected void basicNumberCompaction(int start, int length)
    • numberCompaction

      protected void numberCompaction(int start, int length)
    • byteCompaction6

      protected void byteCompaction6(int start)
    • assemble

      protected void assemble()
    • maxPossibleErrorLevel

      protected static int maxPossibleErrorLevel(int remain)
    • dumpList

      protected void dumpList()
    • getMaxSquare

      protected int getMaxSquare()
    • paintCode

      public void paintCode()
      Paints the barcode. If no exception was thrown a valid barcode is available.
    • getImage

      public Image getImage() throws BadElementException
      Gets an Image with the barcode. The image will have to be scaled in the Y direction by yHeightfor the barcode to have the right printing aspect.
      Returns:
      the barcode Image
      Throws:
      BadElementException - on error
    • createAwtImage

      public Image createAwtImage(Color foreground, Color background)
      Creates a java.awt.Image.
      Parameters:
      foreground - the color of the bars
      background - the color of the background
      Returns:
      the image
    • getOutBits

      public byte[] getOutBits()
      Gets the raw image bits of the barcode. The image will have to be scaled in the Y direction by yHeight.
      Returns:
      The raw barcode image
    • getBitColumns

      public int getBitColumns()
      Gets the number of X pixels of outBits.
      Returns:
      the number of X pixels of outBits
    • getCodeRows

      public int getCodeRows()
      Gets the number of Y pixels of outBits. It is also the number of rows in the barcode.
      Returns:
      the number of Y pixels of outBits
    • setCodeRows

      public void setCodeRows(int codeRows)
      Sets the number of barcode rows. This number may be changed to keep the barcode valid.
      Parameters:
      codeRows - the number of barcode rows
    • getCodeColumns

      public int getCodeColumns()
      Gets the number of barcode data columns.
      Returns:
      he number of barcode data columns
    • setCodeColumns

      public void setCodeColumns(int codeColumns)
      Sets the number of barcode data columns. This number may be changed to keep the barcode valid.
      Parameters:
      codeColumns - the number of barcode data columns
    • getCodewords

      public int[] getCodewords()
      Gets the codeword array. This array is always 928 elements long. It can be written to if the option PDF417_USE_RAW_CODEWORDS is set.
      Returns:
      the codeword array
    • getLenCodewords

      public int getLenCodewords()
      Gets the length of the codewords.
      Returns:
      the length of the codewords
    • setLenCodewords

      public void setLenCodewords(int lenCodewords)
      Sets the length of the codewords.
      Parameters:
      lenCodewords - the length of the codewords
    • getErrorLevel

      public int getErrorLevel()
      Gets the error level correction used for the barcode. It may different from the previously set value.
      Returns:
      the error level correction used for the barcode
    • setErrorLevel

      public void setErrorLevel(int errorLevel)
      Sets the error level correction for the barcode.
      Parameters:
      errorLevel - the error level correction for the barcode
    • getText

      public byte[] getText()
      Gets the bytes that form the barcode. This bytes should be interpreted in the codepage Cp437.
      Returns:
      the bytes that form the barcode
    • setText

      public void setText(byte[] text)
      Sets the bytes that form the barcode. This bytes should be interpreted in the codepage Cp437.
      Parameters:
      text - the bytes that form the barcode
    • setText

      public void setText(String s)
      Sets the text that will form the barcode. This text is converted to bytes using the encoding Cp437.
      Parameters:
      s - the text that will form the barcode
    • getOptions

      public int getOptions()
      Gets the options to generate the barcode.
      Returns:
      the options to generate the barcode
    • setOptions

      public void setOptions(int options)
      Sets the options to generate the barcode. This can be all the PDF417_* constants.
      Parameters:
      options - the options to generate the barcode
    • getAspectRatio

      public float getAspectRatio()
      Gets the barcode aspect ratio.
      Returns:
      the barcode aspect ratio
    • setAspectRatio

      public void setAspectRatio(float aspectRatio)
      Sets the barcode aspect ratio. A ratio or 0.5 will make the barcode width twice as large as the height.
      Parameters:
      aspectRatio - the barcode aspect ratio
    • getYHeight

      public float getYHeight()
      Gets the Y pixel height relative to X.
      Returns:
      the Y pixel height relative to X
    • setYHeight

      public void setYHeight(float yHeight)
      Sets the Y pixel height relative to X. It is usually 3.
      Parameters:
      yHeight - the Y pixel height relative to X