Package com.itextpdf.barcodes
Class Barcode1D
- java.lang.Object
-
- com.itextpdf.barcodes.Barcode1D
-
- Direct Known Subclasses:
Barcode128,Barcode39,BarcodeCodabar,BarcodeEAN,BarcodeEANSUPP,BarcodeInter25,BarcodeMSI,BarcodePostnet
public abstract class Barcode1D extends java.lang.ObjectBase class for the barcode types that have 1D representation. This means all data is encoded in the width of the bars. And the height of the bars is constant.
-
-
Field Summary
Fields Modifier and Type Field Description static intALIGN_CENTERConstant that defines center alignment.static intALIGN_LEFTConstant that defines left alignment.static intALIGN_RIGHTConstant that defines right alignment.protected java.lang.StringaltTextThe alternate text to be used, if present.protected floatbarHeightThe height of the bars.protected floatbaselineIf positive, the text distance under the bars.protected booleanchecksumTextShows the generated checksum in the the text.protected java.lang.StringcodeThe code to generate.protected intcodeTypeThe code type.protected java.awt.ColorDEFAULT_BAR_BACKGROUND_COLORThe default color to draw if a bar is not present.protected java.awt.ColorDEFAULT_BAR_FOREGROUND_COLORThe default color to draw if a bar is present.protected PdfDocumentdocumentprotected booleanextendedGenerates extended barcode 39.protected PdfFontfontThe text font.protected booleangenerateChecksumThe optional checksum generation.protected booleanguardBarsShow the guard bars for barcode EAN.protected floatinkSpreadingThe ink spreading.protected floatnThe bar multiplier for wide bars or the distance between bars for Postnet and Planet.protected floatsizeThe size of the text or the height of the shorter bar in Postnet.protected booleanstartStopTextShow the start and stop character '*' in the text for the barcode 39 or 'ABCD' for codabar.protected inttextAlignmentThe text alignment.protected floatxThe minimum bar width.
-
Constructor Summary
Constructors Modifier Constructor Description protectedBarcode1D(PdfDocument document)Creates newBarcode1Dinstance.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract java.awt.ImagecreateAwtImage(java.awt.Color foreground, java.awt.Color background)Creates ajava.awt.Image.PdfFormXObjectcreateFormXObject(Color barColor, Color textColor, PdfDocument document)Creates a PdfFormXObject with the barcode.PdfFormXObjectcreateFormXObject(PdfDocument document)Creates a PdfFormXObject with the barcode.voidfitWidth(float width)Make the barcode occupy the specified width.java.lang.StringgetAltText()Gets the alternate text.abstract RectanglegetBarcodeSize()Gets the maximum area that the barcode and the text, if any, will occupy.floatgetBarHeight()Gets the height of the bars.floatgetBaseline()Gets the text baseline.java.lang.StringgetCode()Gets the code to generate.intgetCodeType()Gets the code type.protected floatgetDescender()Gets the descender value of the font.PdfFontgetFont()Gets the text font.floatgetInkSpreading()Gets the amount of ink spreading.floatgetN()Gets the bar multiplier for wide bars.floatgetSize()Gets the size of the text.intgetTextAlignment()Gets the text alignment.floatgetX()Gets the minimum bar width.booleanisChecksumText()Gets the property to show the generated checksum in the the text.booleanisExtended()Gets the property to generate extended barcode 39.booleanisGenerateChecksum()Gets the optional checksum generation.booleanisGuardBars()Gets the property to show the guard bars for barcode EAN.booleanisStartStopText()Sets the property to show the start and stop character '*' in the text for the barcode 39.abstract RectangleplaceBarcode(PdfCanvas canvas, Color barColor, Color textColor)Places the barcode in aPdfCanvas.voidsetAltText(java.lang.String altText)Sets the alternate text.voidsetBarHeight(float barHeight)Sets the height of the bars.voidsetBaseline(float baseline)Sets the text baseline.voidsetChecksumText(boolean checksumText)Sets the property to show the generated checksum in the the text.voidsetCode(java.lang.String code)Sets the code to generate.voidsetCodeType(int codeType)Sets the code type.voidsetExtended(boolean extended)Sets the property to generate extended barcode 39.voidsetFont(PdfFont font)Sets the text font.voidsetGenerateChecksum(boolean generateChecksum)Setter for property generateChecksum.voidsetGuardBars(boolean guardBars)Sets the property to show the guard bars for barcode EAN.voidsetInkSpreading(float inkSpreading)Sets the amount of ink spreading.voidsetN(float n)Sets the bar multiplier for wide bars.voidsetSize(float size)Sets the size of the text.voidsetStartStopText(boolean startStopText)Gets the property to show the start and stop character '*' in the text for the barcode 39.voidsetTextAlignment(int textAlignment)Sets the text alignment.voidsetX(float x)Sets the minimum bar width.
-
-
-
Field Detail
-
ALIGN_LEFT
public static final int ALIGN_LEFT
Constant that defines left alignment.- See Also:
- Constant Field Values
-
ALIGN_RIGHT
public static final int ALIGN_RIGHT
Constant that defines right alignment.- See Also:
- Constant Field Values
-
ALIGN_CENTER
public static final int ALIGN_CENTER
Constant that defines center alignment.- See Also:
- Constant Field Values
-
DEFAULT_BAR_FOREGROUND_COLOR
protected final java.awt.Color DEFAULT_BAR_FOREGROUND_COLOR
The default color to draw if a bar is present.
-
DEFAULT_BAR_BACKGROUND_COLOR
protected final java.awt.Color DEFAULT_BAR_BACKGROUND_COLOR
The default color to draw if a bar is not present.
-
document
protected PdfDocument document
-
x
protected float x
The minimum bar width.
-
n
protected float n
The bar multiplier for wide bars or the distance between bars for Postnet and Planet.
-
font
protected PdfFont font
The text font.nullif no text.
-
size
protected float size
The size of the text or the height of the shorter bar in Postnet.
-
baseline
protected float baseline
If positive, the text distance under the bars. If zero or negative, the text distance above the bars.
-
barHeight
protected float barHeight
The height of the bars.
-
textAlignment
protected int textAlignment
The text alignment.
-
generateChecksum
protected boolean generateChecksum
The optional checksum generation.
-
checksumText
protected boolean checksumText
Shows the generated checksum in the the text.
-
startStopText
protected boolean startStopText
Show the start and stop character '*' in the text for the barcode 39 or 'ABCD' for codabar.
-
extended
protected boolean extended
Generates extended barcode 39.
-
code
protected java.lang.String code
The code to generate.
-
guardBars
protected boolean guardBars
Show the guard bars for barcode EAN.
-
codeType
protected int codeType
The code type.
-
inkSpreading
protected float inkSpreading
The ink spreading.
-
altText
protected java.lang.String altText
The alternate text to be used, if present.
-
-
Constructor Detail
-
Barcode1D
protected Barcode1D(PdfDocument document)
Creates newBarcode1Dinstance.- Parameters:
document- The document
-
-
Method Detail
-
getX
public float getX()
Gets the minimum bar width.- Returns:
- the minimum bar width
-
setX
public void setX(float x)
Sets the minimum bar width.- Parameters:
x- the minimum bar width
-
getN
public float getN()
Gets the bar multiplier for wide bars.- Returns:
- the bar multiplier for wide bars
-
setN
public void setN(float n)
Sets the bar multiplier for wide bars.- Parameters:
n- the bar multiplier for wide bars
-
getFont
public PdfFont getFont()
Gets the text font.nullif no text.- Returns:
- the text font.
nullif no text
-
setFont
public void setFont(PdfFont font)
Sets the text font.- Parameters:
font- the text font. Set tonullto suppress any text
-
getSize
public float getSize()
Gets the size of the text.- Returns:
- the size
-
setSize
public void setSize(float size)
Sets the size of the text.- Parameters:
size- the size of the text
-
getBaseline
public float getBaseline()
Gets the text baseline. If positive, the text distance under the bars. If zero or negative, the text distance above the bars.- Returns:
- the baseline.
-
setBaseline
public void setBaseline(float baseline)
Sets the text baseline. If positive, the text distance under the bars. If zero or negative, the text distance above the bars.- Parameters:
baseline- the baseline.
-
getBarHeight
public float getBarHeight()
Gets the height of the bars.- Returns:
- the height of the bars
-
setBarHeight
public void setBarHeight(float barHeight)
Sets the height of the bars.- Parameters:
barHeight- the height of the bars
-
getTextAlignment
public int getTextAlignment()
Gets the text alignment.- Returns:
- the text alignment
-
setTextAlignment
public void setTextAlignment(int textAlignment)
Sets the text alignment.- Parameters:
textAlignment- the text alignment
-
isGenerateChecksum
public boolean isGenerateChecksum()
Gets the optional checksum generation.- Returns:
- the optional checksum generation
-
setGenerateChecksum
public void setGenerateChecksum(boolean generateChecksum)
Setter for property generateChecksum.- Parameters:
generateChecksum- New value of property generateChecksum.
-
isChecksumText
public boolean isChecksumText()
Gets the property to show the generated checksum in the the text.- Returns:
- value of property checksumText
-
setChecksumText
public void setChecksumText(boolean checksumText)
Sets the property to show the generated checksum in the the text.- Parameters:
checksumText- new value of property checksumText
-
isStartStopText
public boolean isStartStopText()
Sets the property to show the start and stop character '*' in the text for the barcode 39.- Returns:
- value of property startStopText
-
setStartStopText
public void setStartStopText(boolean startStopText)
Gets the property to show the start and stop character '*' in the text for the barcode 39.- Parameters:
startStopText- new value of property startStopText
-
isExtended
public boolean isExtended()
Gets the property to generate extended barcode 39.- Returns:
- value of property extended.
-
setExtended
public void setExtended(boolean extended)
Sets the property to generate extended barcode 39.- Parameters:
extended- new value of property extended
-
getCode
public java.lang.String getCode()
Gets the code to generate.- Returns:
- the code to generate
-
setCode
public void setCode(java.lang.String code)
Sets the code to generate.- Parameters:
code- the code to generate
-
isGuardBars
public boolean isGuardBars()
Gets the property to show the guard bars for barcode EAN.- Returns:
- value of property guardBars
-
setGuardBars
public void setGuardBars(boolean guardBars)
Sets the property to show the guard bars for barcode EAN.- Parameters:
guardBars- new value of property guardBars
-
getCodeType
public int getCodeType()
Gets the code type.- Returns:
- the code type
-
setCodeType
public void setCodeType(int codeType)
Sets the code type.- Parameters:
codeType- the code type
-
getBarcodeSize
public abstract Rectangle getBarcodeSize()
Gets the maximum area that the barcode and the text, if any, will occupy. The lower left corner is always (0, 0).- Returns:
- the size the barcode occupies.
-
placeBarcode
public abstract 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- 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
-
getInkSpreading
public float getInkSpreading()
Gets the amount of ink spreading.- Returns:
- the ink spreading
-
setInkSpreading
public void setInkSpreading(float inkSpreading)
Sets the amount of ink spreading. This value will be subtracted to the width of each bar. The actual value will depend on the ink and the printing medium.- Parameters:
inkSpreading- the ink spreading
-
getAltText
public java.lang.String getAltText()
Gets the alternate text.- Returns:
- the alternate text
-
setAltText
public void setAltText(java.lang.String altText)
Sets the alternate text. If present, this text will be used instead of the text derived from the supplied code.- Parameters:
altText- the alternate text
-
createAwtImage
public abstract 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.- Parameters:
foreground- the color of the bars. Ifnulldefaults toDEFAULT_BAR_FOREGROUND_COLORbackground- the color of the background. Ifnulldefaults toDEFAULT_BAR_BACKGROUND_COLOR- Returns:
- the image
-
createFormXObject
public PdfFormXObject createFormXObject(PdfDocument document)
Creates a PdfFormXObject with the barcode. Default bar color and text color will be used.- Parameters:
document- The document- Returns:
- The XObject
- See Also:
createFormXObject(Color, Color, PdfDocument)
-
createFormXObject
public PdfFormXObject createFormXObject(Color barColor, Color textColor, PdfDocument document)
Creates a PdfFormXObject with the barcode.- Parameters:
barColor- The color of the bars. It can benulltextColor- The color of the text. It can benulldocument- The document- Returns:
- the XObject
- See Also:
placeBarcode(PdfCanvas canvas, Color barColor, Color textColor)
-
fitWidth
public void fitWidth(float width)
Make the barcode occupy the specified width. Usually this is achieved by adjusting bar widths.- Parameters:
width- The width
-
getDescender
protected float getDescender()
Gets the descender value of the font.- Returns:
- the descender value of the font
-
-