Class BarcodeDatamatrix
- java.lang.Object
-
- com.itextpdf.text.pdf.BarcodeDatamatrix
-
public class BarcodeDatamatrix extends Object
A DataMatrix 2D barcode generator.
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_DATA_MATRIX_ENCODING
static int
DM_ASCII
ASCII encodation.static int
DM_AUTO
The best encodation will be used.static int
DM_B256
Binary encodation.static int
DM_C40
C40 encodation.static int
DM_EDIFACT
EDIFACT encodation.static int
DM_ERROR_EXTENSION
An error while parsing an extension.static int
DM_ERROR_INVALID_SQUARE
The dimensions given for the symbol are illegal.static int
DM_ERROR_TEXT_TOO_BIG
The text is too big for the symbology capabilities.static int
DM_EXTENSION
Allows extensions to be embedded at the start of the text.static int
DM_NO_ERROR
No error.static int
DM_RAW
No encodation needed.static int
DM_TEST
Doesn't generate the image but returns all the other information.static int
DM_TEXT
TEXT encodation.static int
DM_X12
X12 encodation.static int
DM_X21
Deprecated.UseBarcodeDataMatrix#DM_X12
instead.
-
Constructor Summary
Constructors Constructor Description BarcodeDatamatrix()
Creates an instance of this class.BarcodeDatamatrix(String code)
BarcodeDatamatrix(String code, String encoding)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Image
createAwtImage(Color foreground, Color background)
Creates ajava.awt.Image
.Image
createImage()
Gets anImage
with the barcode.int
generate(byte[] text, int textOffset, int textSize)
Creates a barcode.int
generate(String text)
Creates a barcode.int
getHeight()
Gets the height of the barcode.byte[]
getImage()
Gets the generated image.int
getOptions()
Gets the barcode options.int
getWidth()
Gets the width of the barcode.int
getWs()
Gets the whitespace border around the barcode.void
placeBarcode(PdfContentByte cb, BaseColor foreground, float moduleHeight, float moduleWidth)
void
setForceSquareSize(boolean forceSquareSize)
void
setHeight(int height)
Sets the height of the barcode.void
setOptions(int options)
Sets the options for the barcode generation.void
setWidth(int width)
Sets the width of the barcode.void
setWs(int ws)
Sets the whitespace border around the barcode.
-
-
-
Field Detail
-
DM_NO_ERROR
public static final int DM_NO_ERROR
No error.- See Also:
- Constant Field Values
-
DM_ERROR_TEXT_TOO_BIG
public static final int DM_ERROR_TEXT_TOO_BIG
The text is too big for the symbology capabilities.- See Also:
- Constant Field Values
-
DM_ERROR_INVALID_SQUARE
public static final int DM_ERROR_INVALID_SQUARE
The dimensions given for the symbol are illegal.- See Also:
- Constant Field Values
-
DM_ERROR_EXTENSION
public static final int DM_ERROR_EXTENSION
An error while parsing an extension.- See Also:
- Constant Field Values
-
DM_AUTO
public static final int DM_AUTO
The best encodation will be used.- See Also:
- Constant Field Values
-
DM_ASCII
public static final int DM_ASCII
ASCII encodation.- See Also:
- Constant Field Values
-
DM_C40
public static final int DM_C40
C40 encodation.- See Also:
- Constant Field Values
-
DM_TEXT
public static final int DM_TEXT
TEXT encodation.- See Also:
- Constant Field Values
-
DM_B256
public static final int DM_B256
Binary encodation.- See Also:
- Constant Field Values
-
DM_X12
public static final int DM_X12
X12 encodation.- See Also:
- Constant Field Values
-
DM_X21
@Deprecated public static final int DM_X21
Deprecated.UseBarcodeDataMatrix#DM_X12
instead.X12 encodation.- See Also:
- Constant Field Values
-
DM_EDIFACT
public static final int DM_EDIFACT
EDIFACT encodation.- See Also:
- Constant Field Values
-
DM_RAW
public static final int DM_RAW
No encodation needed. The bytes provided are already encoded.- See Also:
- Constant Field Values
-
DM_EXTENSION
public static final int DM_EXTENSION
Allows extensions to be embedded at the start of the text.- See Also:
- Constant Field Values
-
DM_TEST
public static final int DM_TEST
Doesn't generate the image but returns all the other information.- See Also:
- Constant Field Values
-
DEFAULT_DATA_MATRIX_ENCODING
public static final String DEFAULT_DATA_MATRIX_ENCODING
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BarcodeDatamatrix
public BarcodeDatamatrix()
Creates an instance of this class.
-
BarcodeDatamatrix
public BarcodeDatamatrix(String code) throws UnsupportedEncodingException
- Throws:
UnsupportedEncodingException
-
BarcodeDatamatrix
public BarcodeDatamatrix(String code, String encoding) throws UnsupportedEncodingException
- Throws:
UnsupportedEncodingException
-
-
Method Detail
-
generate
public int generate(String text) throws UnsupportedEncodingException
Creates a barcode. TheString
is interpreted with the ISO-8859-1 encoding- Parameters:
text
- the text- Returns:
- the status of the generation. It can be one of this values:
DM_NO_ERROR
- no error.
DM_ERROR_TEXT_TOO_BIG
- the text is too big for the symbology capabilities.
DM_ERROR_INVALID_SQUARE
- the dimensions given for the symbol are illegal.
DM_ERROR_EXTENSION
- an error was while parsing an extension. - Throws:
UnsupportedEncodingException
- on error
-
generate
public int generate(byte[] text, int textOffset, int textSize)
Creates a barcode.- Parameters:
text
- the texttextOffset
- the offset to the start of the texttextSize
- the text size- Returns:
- the status of the generation. It can be one of this values:
DM_NO_ERROR
- no error.
DM_ERROR_TEXT_TOO_BIG
- the text is too big for the symbology capabilities.
DM_ERROR_INVALID_SQUARE
- the dimensions given for the symbol are illegal.
DM_ERROR_EXTENSION
- an error was while parsing an extension.
-
createImage
public Image createImage() throws BadElementException
Gets anImage
with the barcode. A successful call to the methodgenerate()
before calling this method is required.- Returns:
- the barcode
Image
- Throws:
BadElementException
- on error
-
getImage
public byte[] getImage()
Gets the generated image. The image is represented as a stream of bytes, each byte representing 8 pixels, 0 for white and 1 for black, with the high-order bit of each byte first. Each row is aligned at byte boundaries. The dimensions of the image are defined by height and width plus 2 * ws.- Returns:
- the generated image
-
getHeight
public int getHeight()
Gets the height of the barcode. Will contain the real height used after a successful call togenerate()
. This height doesn't include the whitespace border, if any.- Returns:
- the height of the barcode
-
setHeight
public void setHeight(int height)
Sets the height of the barcode. If the height is zero it will be calculated. This height doesn't include the whitespace border, if any.The allowed dimensions are (height, width):
10, 10
12, 12
8, 18
14, 14
8, 32
16, 16
12, 26
18, 18
20, 20
12, 36
22, 22
16, 36
24, 24
26, 26
16, 48
32, 32
36, 36
40, 40
44, 44
48, 48
52, 52
64, 64
72, 72
80, 80
88, 88
96, 96
104, 104
120, 120
132, 132
144, 144- Parameters:
height
- the height of the barcode
-
getWidth
public int getWidth()
Gets the width of the barcode. Will contain the real width used after a successful call togenerate()
. This width doesn't include the whitespace border, if any.- Returns:
- the width of the barcode
-
setWidth
public void setWidth(int width)
Sets the width of the barcode. If the width is zero it will be calculated. This width doesn't include the whitespace border, if any.The allowed dimensions are (height, width):
10, 10
12, 12
8, 18
14, 14
8, 32
16, 16
12, 26
18, 18
20, 20
12, 36
22, 22
16, 36
24, 24
26, 26
16, 48
32, 32
36, 36
40, 40
44, 44
48, 48
52, 52
64, 64
72, 72
80, 80
88, 88
96, 96
104, 104
120, 120
132, 132
144, 144- Parameters:
width
- the width of the barcode
-
getWs
public int getWs()
Gets the whitespace border around the barcode.- Returns:
- the whitespace border around the barcode
-
setWs
public void setWs(int ws)
Sets the whitespace border around the barcode.- Parameters:
ws
- the whitespace border around the barcode
-
getOptions
public int getOptions()
Gets the barcode options.- Returns:
- the barcode options
-
setOptions
public void setOptions(int options)
Sets the options for the barcode generation. The options can be:One of:
DM_AUTO
- the best encodation will be used
DM_ASCII
- ASCII encodation
DM_C40
- C40 encodation
DM_TEXT
- TEXT encodation
DM_B256
- binary encodation
DM_X21
- X21 encodation
DM_EDIFACT
- EDIFACT encodation
DM_RAW
- no encodation. The bytes provided are already encoded and will be added directly to the barcode, using padding if needed. It assumes that the encodation state is left at ASCII after the last byte.
One of:
DM_EXTENSION
- allows extensions to be embedded at the start of the text:exxxxxx - ECI number xxxxxx
m5 - macro 5
m6 - macro 6
f - FNC1
saabbccccc - Structured Append, aa symbol position (1-16), bb total number of symbols (2-16), ccccc file identification (0-64515)
p - Reader programming
. - extension terminatorExample for a structured append, symbol 2 of 6, with FNC1 and ECI 000005. The actual text is "Hello".
s020600075fe000005.Hello
One of:
DM_TEST
- doesn't generate the image but returns all the other information.- Parameters:
options
- the barcode options
-
setForceSquareSize
public void setForceSquareSize(boolean forceSquareSize)
-
placeBarcode
public void placeBarcode(PdfContentByte cb, BaseColor foreground, float moduleHeight, float moduleWidth)
-
-