public class BarcodePDF417 extends Object
Image
or a raw bitmap.Modifier and Type | Class and Description |
---|---|
protected static class |
BarcodePDF417.Segment |
protected static class |
BarcodePDF417.SegmentList |
Modifier and Type | Field and Description |
---|---|
protected static int |
ABSOLUTE_MAX_TEXT_SIZE |
protected static int |
AL |
protected static int |
ALPHA |
protected static int |
AS |
private float |
aspectRatio
Holds value of property aspectRatio.
|
private int |
bitColumns
Holds value of property bitColumns.
|
protected int |
bitPtr |
protected static int |
BYTE_MODE |
protected static int |
BYTE_MODE_6 |
protected static int |
BYTESHIFT |
private static int[][] |
CLUSTERS |
private int |
codeColumns
Holds value of property codeColumns.
|
private int |
codeRows
Holds value of property codeRows.
|
private int[] |
codewords
Holds value of property codewords.
|
protected int |
cwPtr |
private static int[][] |
ERROR_LEVEL |
private int |
errorLevel
Holds value of property errorLevel.
|
protected static int |
ISBYTE |
private int |
lenCodewords
Holds value of property lenCodewords.
|
protected static int |
LL |
protected static int |
LOWER |
protected static int |
MACRO_LAST_SEGMENT |
protected static int |
MACRO_SEGMENT_ID |
private String |
macroFileId |
private int |
macroIndex |
private int |
macroSegmentCount |
private int |
macroSegmentId |
protected static int |
MAX_DATA_CODEWORDS |
protected static int |
MIXED |
private static String |
MIXED_SET |
protected static int |
ML |
protected static int |
MOD |
protected static int |
NUMERIC_MODE |
private int |
options
Holds value of property options.
|
private byte[] |
outBits
Holds value of property outBits.
|
protected static int |
PAL |
static int |
PDF417_AUTO_ERROR_LEVEL
The error level correction is set automatically according
to ISO 15438 recommendations.
|
static int |
PDF417_FIXED_COLUMNS
The size will be at least
codeColumns
with a variable number of codeRows . |
static int |
PDF417_FIXED_RECTANGLE
The size of the barcode will be at least
codeColumns*codeRows . |
static int |
PDF417_FIXED_ROWS
The size will be at least
codeRows
with a variable number of codeColumns . |
static int |
PDF417_FORCE_BINARY
One single binary segment is used
|
static int |
PDF417_INVERT_BITMAP
Inverts the output bits of the raw bitmap that is normally
bit one for black.
|
static int |
PDF417_USE_ASPECT_RATIO
Auto-size is made based on
aspectRatio and yHeight . |
static int |
PDF417_USE_ERROR_LEVEL
The error level correction is set by the user.
|
static int |
PDF417_USE_MACRO
Use Macro PDF417 Encoding
|
static int |
PDF417_USE_RAW_CODEWORDS
No
text interpretation is done and the content of codewords
is used directly. |
protected static int |
PL |
protected static int |
PS |
protected static int |
PUNCTUATION |
private static String |
PUNCTUATION_SET |
protected BarcodePDF417.SegmentList |
segmentList |
protected static int |
SPACE |
protected static int |
START_CODE_SIZE |
protected static int |
START_PATTERN |
protected static int |
STOP_PATTERN |
protected static int |
STOP_SIZE |
private byte[] |
text
Holds value of property text.
|
protected static int |
TEXT_MODE |
private float |
yHeight
Holds value of property yHeight.
|
Constructor and Description |
---|
BarcodePDF417()
Creates a new
BarcodePDF417 with the default settings. |
Modifier and Type | Method and Description |
---|---|
private void |
append(int in,
int len) |
private void |
append(String s) |
protected void |
assemble() |
private void |
basicNumberCompaction(byte[] input,
int start,
int length) |
protected void |
basicNumberCompaction(int start,
int length) |
(package private) void |
breakString() |
(package private) void |
byteCompaction(int start,
int length) |
protected void |
byteCompaction6(int start) |
protected void |
calculateErrorCorrection(int dest) |
protected boolean |
checkSegmentType(BarcodePDF417.Segment segment,
char type) |
Image |
createAwtImage(Color foreground,
Color background)
Creates a
java.awt.Image . |
protected void |
dumpList() |
float |
getAspectRatio()
Gets the barcode aspect ratio.
|
int |
getBitColumns()
Gets the number of X pixels of
outBits . |
int |
getCodeColumns()
Gets the number of barcode data columns.
|
int |
getCodeRows()
Gets the number of Y pixels of
outBits . |
int[] |
getCodewords()
Gets the codeword array.
|
int |
getErrorLevel()
Gets the error level correction used for the barcode.
|
Image |
getImage()
Gets an
Image with the barcode. |
int |
getLenCodewords()
Gets the length of the codewords.
|
protected int |
getMaxSquare() |
int |
getOptions()
Gets the options to generate the barcode.
|
byte[] |
getOutBits()
Gets the raw image bits of the barcode.
|
protected int |
getSegmentLength(BarcodePDF417.Segment segment) |
byte[] |
getText()
Gets the bytes that form the barcode.
|
private static int |
getTextTypeAndValue(byte[] input,
int maxLength,
int idx) |
protected int |
getTextTypeAndValue(int maxLength,
int idx) |
float |
getYHeight()
Gets the Y pixel height relative to X.
|
private void |
macroCodes() |
protected static int |
maxPossibleErrorLevel(int remain) |
private void |
numberCompaction(byte[] input,
int start,
int length) |
protected void |
numberCompaction(int start,
int length) |
protected void |
outCodeword(int codeword) |
protected void |
outCodeword17(int codeword) |
protected void |
outCodeword18(int codeword) |
protected void |
outPaintCode() |
protected void |
outStartPattern() |
protected void |
outStopPattern() |
void |
paintCode()
Paints the barcode.
|
void |
setAspectRatio(float aspectRatio)
Sets the barcode aspect ratio.
|
void |
setCodeColumns(int codeColumns)
Sets the number of barcode data columns.
|
void |
setCodeRows(int codeRows)
Sets the number of barcode rows.
|
void |
setDefaultParameters()
Set the default settings that correspond to
PDF417_USE_ASPECT_RATIO
and PDF417_AUTO_ERROR_LEVEL . |
void |
setErrorLevel(int errorLevel)
Sets the error level correction for the barcode.
|
void |
setLenCodewords(int lenCodewords)
Sets the length of the codewords.
|
void |
setMacroFileId(String id)
Sets the File ID for macro PDF417 encoding
|
void |
setMacroSegmentCount(int cnt)
Sets the segment count for macro PDF417 encoding
|
void |
setMacroSegmentId(int id)
Sets the segment id for macro PDF417 encoding
|
void |
setOptions(int options)
Sets the options to generate the barcode.
|
void |
setText(byte[] text)
Sets the bytes that form the barcode.
|
void |
setText(String s)
Sets the text that will form the barcode.
|
void |
setYHeight(float yHeight)
Sets the Y pixel height relative to X.
|
private void |
textCompaction(byte[] input,
int start,
int length) |
protected void |
textCompaction(int start,
int length) |
public static final int PDF417_USE_ASPECT_RATIO
aspectRatio
and yHeight
.public static final int PDF417_FIXED_RECTANGLE
codeColumns*codeRows
.public static final int PDF417_FIXED_COLUMNS
codeColumns
with a variable number of codeRows
.public static final int PDF417_FIXED_ROWS
codeRows
with a variable number of codeColumns
.public static final int PDF417_AUTO_ERROR_LEVEL
public static final int PDF417_USE_ERROR_LEVEL
public static final int PDF417_FORCE_BINARY
public static final int PDF417_USE_RAW_CODEWORDS
text
interpretation is done and the content of codewords
is used directly.public static final int PDF417_INVERT_BITMAP
public static final int PDF417_USE_MACRO
private int macroSegmentCount
private int macroSegmentId
private String macroFileId
private int macroIndex
protected int bitPtr
protected int cwPtr
protected BarcodePDF417.SegmentList segmentList
protected static final int START_PATTERN
protected static final int STOP_PATTERN
protected static final int START_CODE_SIZE
protected static final int STOP_SIZE
protected static final int MOD
protected static final int ALPHA
protected static final int LOWER
protected static final int MIXED
protected static final int PUNCTUATION
protected static final int ISBYTE
protected static final int BYTESHIFT
protected static final int PL
protected static final int LL
protected static final int AS
protected static final int ML
protected static final int AL
protected static final int PS
protected static final int PAL
protected static final int SPACE
protected static final int TEXT_MODE
protected static final int BYTE_MODE_6
protected static final int BYTE_MODE
protected static final int NUMERIC_MODE
protected static final int ABSOLUTE_MAX_TEXT_SIZE
protected static final int MAX_DATA_CODEWORDS
protected static final int MACRO_SEGMENT_ID
protected static final int MACRO_LAST_SEGMENT
private static final String MIXED_SET
private static final String PUNCTUATION_SET
private static final int[][] CLUSTERS
private static final int[][] ERROR_LEVEL
private byte[] outBits
private int bitColumns
private int codeRows
private int codeColumns
private int[] codewords
private int lenCodewords
private int errorLevel
private byte[] text
private int options
private float aspectRatio
private float yHeight
public BarcodePDF417()
BarcodePDF417
with the default settings.public void setMacroSegmentId(int id)
id
- the id (starting at 0)setMacroSegmentCount(int)
public void setMacroSegmentCount(int cnt)
cnt
- the number of macro segmentssetMacroSegmentId(int)
public void setMacroFileId(String id)
id
- the file idprotected boolean checkSegmentType(BarcodePDF417.Segment segment, char type)
protected int getSegmentLength(BarcodePDF417.Segment segment)
public void setDefaultParameters()
PDF417_USE_ASPECT_RATIO
and PDF417_AUTO_ERROR_LEVEL
.protected void outCodeword17(int codeword)
protected void outCodeword18(int codeword)
protected void outCodeword(int codeword)
protected void outStopPattern()
protected void outStartPattern()
protected void outPaintCode()
protected void calculateErrorCorrection(int dest)
private static int getTextTypeAndValue(byte[] input, int maxLength, int idx)
protected int getTextTypeAndValue(int maxLength, int idx)
private void textCompaction(byte[] input, int start, int length)
protected void textCompaction(int start, int length)
protected void basicNumberCompaction(int start, int length)
private void basicNumberCompaction(byte[] input, int start, int length)
private void numberCompaction(byte[] input, int start, int length)
protected void numberCompaction(int start, int length)
protected void byteCompaction6(int start)
void byteCompaction(int start, int length)
void breakString()
protected void assemble()
private void macroCodes()
private void append(int in, int len)
protected static int maxPossibleErrorLevel(int remain)
protected void dumpList()
protected int getMaxSquare()
public void paintCode()
public Image getImage() throws BadElementException
Image
with the barcode. The image will have to be
scaled in the Y direction by yHeight
for the barcode
to have the right printing aspect.Image
BadElementException
- on errorpublic Image createAwtImage(Color foreground, Color background)
java.awt.Image
.foreground
- the color of the barsbackground
- the color of the backgroundpublic byte[] getOutBits()
yHeight
.public int getBitColumns()
outBits
.outBits
public int getCodeRows()
outBits
.
It is also the number of rows in the barcode.outBits
public void setCodeRows(int codeRows)
codeRows
- the number of barcode rowspublic int getCodeColumns()
public void setCodeColumns(int codeColumns)
codeColumns
- the number of barcode data columnspublic int[] getCodewords()
PDF417_USE_RAW_CODEWORDS
is set.public int getLenCodewords()
public void setLenCodewords(int lenCodewords)
lenCodewords
- the length of the codewordspublic int getErrorLevel()
public void setErrorLevel(int errorLevel)
errorLevel
- the error level correction for the barcodepublic byte[] getText()
public void setText(byte[] text)
text
- the bytes that form the barcodepublic void setText(String s)
s
- the text that will form the barcodepublic int getOptions()
public void setOptions(int options)
PDF417_*
constants.options
- the options to generate the barcodepublic float getAspectRatio()
public void setAspectRatio(float aspectRatio)
aspectRatio
- the barcode aspect ratiopublic float getYHeight()
public void setYHeight(float yHeight)
yHeight
- the Y pixel height relative to XWebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses