Package com.itextpdf.barcodes
Class Barcode39
- java.lang.Object
-
- com.itextpdf.barcodes.Barcode1D
-
- com.itextpdf.barcodes.Barcode39
-
public class Barcode39 extends Barcode1D
This class represents the barcode Code 39.Code 39 is a variable length, discrete barcode symbology defined in ISO/IEC 16388:2007.
The Code 39 specification defines 43 characters, consisting of uppercase letters (A through Z), numeric digits (0 through 9) and a number of special characters (-, ., $, /, +, %, and space). An additional character (denoted '*') is used for both start and stop delimiters. Each character is composed of nine elements: five bars and four spaces.
-
-
Field Summary
Fields Modifier and Type Field Description private static byte[][]BARSThe bars to generate the code.private static java.lang.StringCHARSThe index chars toBARS, symbol * use only start and stop characters, the * character will not appear in the input data.private static java.lang.StringEXTENDEDThe character combinations to make the code 39 extended.-
Fields inherited from class com.itextpdf.barcodes.Barcode1D
ALIGN_CENTER, ALIGN_LEFT, ALIGN_RIGHT, altText, barHeight, baseline, checksumText, code, codeType, DEFAULT_BAR_BACKGROUND_COLOR, DEFAULT_BAR_FOREGROUND_COLOR, document, extended, font, generateChecksum, guardBars, inkSpreading, n, size, startStopText, textAlignment, x
-
-
Constructor Summary
Constructors Constructor Description Barcode39(PdfDocument document)Creates a new Barcode39.Barcode39(PdfDocument document, PdfFont font)Creates a new Barcode39.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.awt.ImagecreateAwtImage(java.awt.Color foreground, java.awt.Color background)Creates ajava.awt.Image.RectanglegetBarcodeSize()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 chargetChecksum(java.lang.String text)Calculates the checksum.static java.lang.StringgetCode39Ex(java.lang.String text)Converts the extended text into a normal, escaped text, ready to generate bars.RectangleplaceBarcode(PdfCanvas canvas, Color barColor, Color textColor)Places the barcode in aPdfCanvas.-
Methods inherited from class com.itextpdf.barcodes.Barcode1D
createFormXObject, createFormXObject, fitWidth, getAltText, getBarHeight, getBaseline, getCode, getCodeType, getDescender, 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
-
-
-
-
Field Detail
-
BARS
private static final byte[][] BARS
The bars to generate the code.
-
CHARS
private static final java.lang.String CHARS
The index chars toBARS, symbol * use only start and stop characters, the * character will not appear in the input data.- See Also:
- Constant Field Values
-
EXTENDED
private static final java.lang.String EXTENDED
The character combinations to make the code 39 extended.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Barcode39
public Barcode39(PdfDocument document)
Creates a new Barcode39. To generate the font thePdfDocument.getDefaultFont()will be implicitly called. If you want to use this barcode in PDF/A documents, please consider usingBarcode39(PdfDocument, PdfFont).- Parameters:
document- The document to which the barcode will be added
-
Barcode39
public Barcode39(PdfDocument document, PdfFont font)
Creates a new Barcode39.- Parameters:
document- The document to which the barcode will be addedfont- The font to use
-
-
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:
getBarcodeSizein classBarcode1D- Returns:
- the size the barcode occupies.
-
placeBarcode
public Rectangle placeBarcode(PdfCanvas canvas, Color barColor, Color textColor)
Places the barcode in aPdfCanvas. 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:
barColortextColorResult nullnullbars and text painted with current fill color barColornullbars and text painted with barColornulltextColorbars painted with current color
text painted withtextColorbarColortextColorbars painted with barColor
text painted withtextColor- Specified by:
placeBarcodein classBarcode1D- Parameters:
canvas- thePdfCanvaswhere the barcode will be placedbarColor- the color of the bars. It can benulltextColor- the color of the text. It can benull- Returns:
- the dimensions the barcode occupies
-
createAwtImage
public java.awt.Image createAwtImage(java.awt.Color foreground, java.awt.Color background)Creates ajava.awt.Image. This image only contains the bars without any text.- Specified by:
createAwtImagein classBarcode1D- Parameters:
foreground- the color of the barsbackground- the color of the background- Returns:
- the image
-
-