Class BarcodeDatamatrix
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class(package private) static class(package private) static class -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final intASCII encodation.static final intThe best encodation will be used.static final intBinary encodation.static final intC40 encodation.static final intEDIFACT encodation.static final intAn error while parsing an extension.static final intThe dimensions given for the symbol are illegal.static final intThe text is too big for the symbology capabilities.static final intAllows extensions to be embedded at the start of the text.static final intNo error.static final intNo encodation needed.static final intDoesn't generate the image but returns all the other information.static final intTEXT encodation.static final intX12 encodation.static final intDeprecated.private static final BarcodeDatamatrix.DmParams[]private Stringprivate static final byteprivate intprivate static int[][]private booleanprivate intprivate byte[]private static final byteprivate static final byteprivate static final byteprivate static final byteprivate static final byteprivate intprivate static final byteprivate short[]private static int[][]private static final byteprivate intprivate intprivate static final String -
Constructor Summary
ConstructorsConstructorDescriptionCreates an instance of this class.BarcodeDatamatrix(String code) BarcodeDatamatrix(String code, String encoding) -
Method Summary
Modifier and TypeMethodDescriptionprivate static intasciiEncodation(byte[] text, int textOffset, int textLength, byte[] data, int dataOffset, int dataLength, int symbolIndex, int prevEnc, int origDataOffset) private static intb256Encodation(byte[] text, int textOffset, int textLength, byte[] data, int dataOffset, int dataLength, int symbolIndex, int prevEnc, int origDataOffset) private static intC40OrTextEncodation(byte[] text, int textOffset, int textLength, byte[] data, int dataOffset, int dataLength, boolean c40, int symbolIndex, int prevEnc, int origDataOffset) createAwtImage(Color foreground, Color background) Creates ajava.awt.Image.Gets anImagewith the barcode.private voiddraw(byte[] data, int dataSize, BarcodeDatamatrix.DmParams dm) private static intEdifactEncodation(byte[] text, int textOffset, int textLength, byte[] data, int dataOffset, int dataLength, int symbolIndex, int prevEnc, int origDataOffset, boolean sizeFixed) intgenerate(byte[] text, int textOffset, int textSize) Creates a barcode.intCreates a barcode.private static intgetEncodation(byte[] text, int textOffset, int textSize, byte[] data, int dataOffset, int dataSize, int options, boolean sizeFixed) intGets the height of the barcode.byte[]getImage()Gets the generated image.private static intgetNumber(byte[] text, int ptrIn, int n) intGets the barcode options.intgetWidth()Gets the width of the barcode.intgetWs()Gets the whitespace border around the barcode.private static booleanisDigit(int c) private static voidmakePadding(byte[] data, int position, int count) private static intminValueInColumn(int[][] array, int column) voidplaceBarcode(PdfContentByte cb, BaseColor foreground, float moduleHeight, float moduleWidth) private intprocessExtensions(byte[] text, int textOffset, int textSize, byte[] data) private static voidrandomizationAlgorithm255(byte[] data, int j) private voidsetBit(int x, int y, int xByte) voidsetForceSquareSize(boolean forceSquareSize) voidsetHeight(int height) Sets the height of the barcode.voidsetOptions(int options) Sets the options for the barcode generation.voidsetWidth(int width) Sets the width of the barcode.voidsetWs(int ws) Sets the whitespace border around the barcode.private static voidsolveFAndSwitchMode(int[] forMin, int mode, int currIndex) private static intvaluePositionInColumn(int[][] array, int column, int value) private static intX12Encodation(byte[] text, int textOffset, int textLength, byte[] data, int dataOffset, int dataLength, int symbolIndex, int prevEnc, int origDataOffset)
-
Field Details
-
DM_NO_ERROR
public static final int DM_NO_ERRORNo error.- See Also:
-
DM_ERROR_TEXT_TOO_BIG
public static final int DM_ERROR_TEXT_TOO_BIGThe text is too big for the symbology capabilities.- See Also:
-
DM_ERROR_INVALID_SQUARE
public static final int DM_ERROR_INVALID_SQUAREThe dimensions given for the symbol are illegal.- See Also:
-
DM_ERROR_EXTENSION
public static final int DM_ERROR_EXTENSIONAn error while parsing an extension.- See Also:
-
DM_AUTO
public static final int DM_AUTOThe best encodation will be used.- See Also:
-
DM_ASCII
public static final int DM_ASCIIASCII encodation.- See Also:
-
DM_C40
public static final int DM_C40C40 encodation.- See Also:
-
DM_TEXT
public static final int DM_TEXTTEXT encodation.- See Also:
-
DM_B256
public static final int DM_B256Binary encodation.- See Also:
-
DM_X12
public static final int DM_X12X12 encodation.- See Also:
-
DM_X21
Deprecated.Useinstead.invalid reference
BarcodeDataMatrix#DM_X12X12 encodation.- See Also:
-
DM_EDIFACT
public static final int DM_EDIFACTEDIFACT encodation.- See Also:
-
DM_RAW
public static final int DM_RAWNo encodation needed. The bytes provided are already encoded.- See Also:
-
DM_EXTENSION
public static final int DM_EXTENSIONAllows extensions to be embedded at the start of the text.- See Also:
-
DM_TEST
public static final int DM_TESTDoesn't generate the image but returns all the other information.- See Also:
-
DEFAULT_DATA_MATRIX_ENCODING
- See Also:
-
LATCH_B256
private static final byte LATCH_B256- See Also:
-
LATCH_EDIFACT
private static final byte LATCH_EDIFACT- See Also:
-
LATCH_X12
private static final byte LATCH_X12- See Also:
-
LATCH_TEXT
private static final byte LATCH_TEXT- See Also:
-
LATCH_C40
private static final byte LATCH_C40- See Also:
-
UNLATCH
private static final byte UNLATCH- See Also:
-
EXTENDED_ASCII
private static final byte EXTENDED_ASCII- See Also:
-
PADDING
private static final byte PADDING- See Also:
-
encoding
-
dmSizes
-
X12
- See Also:
-
extOut
private int extOut -
place
private short[] place -
image
private byte[] image -
height
private int height -
width
private int width -
ws
private int ws -
options
private int options -
f
private static int[][] f -
switchMode
private static int[][] switchMode -
forceSquareSize
private boolean forceSquareSize
-
-
Constructor Details
-
BarcodeDatamatrix
public BarcodeDatamatrix()Creates an instance of this class. -
BarcodeDatamatrix
- Throws:
UnsupportedEncodingException
-
BarcodeDatamatrix
- Throws:
UnsupportedEncodingException
-
-
Method Details
-
setBit
private void setBit(int x, int y, int xByte) -
draw
-
makePadding
private static void makePadding(byte[] data, int position, int count) -
isDigit
private static boolean isDigit(int c) -
asciiEncodation
private static int asciiEncodation(byte[] text, int textOffset, int textLength, byte[] data, int dataOffset, int dataLength, int symbolIndex, int prevEnc, int origDataOffset) -
b256Encodation
private static int b256Encodation(byte[] text, int textOffset, int textLength, byte[] data, int dataOffset, int dataLength, int symbolIndex, int prevEnc, int origDataOffset) -
randomizationAlgorithm255
private static void randomizationAlgorithm255(byte[] data, int j) -
X12Encodation
private static int X12Encodation(byte[] text, int textOffset, int textLength, byte[] data, int dataOffset, int dataLength, int symbolIndex, int prevEnc, int origDataOffset) -
EdifactEncodation
private static int EdifactEncodation(byte[] text, int textOffset, int textLength, byte[] data, int dataOffset, int dataLength, int symbolIndex, int prevEnc, int origDataOffset, boolean sizeFixed) -
C40OrTextEncodation
private static int C40OrTextEncodation(byte[] text, int textOffset, int textLength, byte[] data, int dataOffset, int dataLength, boolean c40, int symbolIndex, int prevEnc, int origDataOffset) -
minValueInColumn
private static int minValueInColumn(int[][] array, int column) -
valuePositionInColumn
private static int valuePositionInColumn(int[][] array, int column, int value) -
solveFAndSwitchMode
private static void solveFAndSwitchMode(int[] forMin, int mode, int currIndex) -
getEncodation
private static int getEncodation(byte[] text, int textOffset, int textSize, byte[] data, int dataOffset, int dataSize, int options, boolean sizeFixed) -
getNumber
private static int getNumber(byte[] text, int ptrIn, int n) -
processExtensions
private int processExtensions(byte[] text, int textOffset, int textSize, byte[] data) -
generate
Creates a barcode. TheStringis 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
Gets anImagewith 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) -
createAwtImage
-
invalid reference