public abstract class UPCEANReader extends OneDReader
Encapsulates functionality and implementation that is common to UPC and EAN families of one-dimensional barcodes.
Modifier | Constructor and Description |
---|---|
protected |
UPCEANReader() |
Modifier and Type | Method and Description |
---|---|
protected abstract int |
decodeMiddle(BitArray row,
int[] startRange,
StringBuilder resultString)
Subclasses override this to decode the portion of a barcode between the start
and end guard patterns.
|
Result |
decodeRow(int rowNumber,
BitArray row,
int[] startGuardRange,
Map<DecodeHintType,?> hints)
Like
decodeRow(int, BitArray, Map) , but
allows caller to inform method about where the UPC/EAN start pattern is
found. |
Result |
decodeRow(int rowNumber,
BitArray row,
Map<DecodeHintType,?> hints)
Attempts to decode a one-dimensional barcode format given a single row of
an image.
|
decode, decode, patternMatchVariance, recordPattern, recordPatternInReverse, reset
public Result decodeRow(int rowNumber, BitArray row, Map<DecodeHintType,?> hints) throws NotFoundException, ChecksumException, FormatException
OneDReader
Attempts to decode a one-dimensional barcode format given a single row of an image.
decodeRow
in class OneDReader
rowNumber
- row number from top of the rowrow
- the black/white pixel data of the rowhints
- decode hintsResult
containing encoded string and start/end of barcodeNotFoundException
- if no potential barcode is foundChecksumException
- if a potential barcode is found but does not pass its checksumFormatException
- if a potential barcode is found but format is invalidpublic Result decodeRow(int rowNumber, BitArray row, int[] startGuardRange, Map<DecodeHintType,?> hints) throws NotFoundException, ChecksumException, FormatException
Like decodeRow(int, BitArray, Map)
, but
allows caller to inform method about where the UPC/EAN start pattern is
found. This allows this to be computed once and reused across many implementations.
rowNumber
- row index into the imagerow
- encoding of the row of the barcode imagestartGuardRange
- start/end column where the opening start pattern was foundhints
- optional hints that influence decodingResult
encapsulating the result of decoding a barcode in the rowNotFoundException
- if no potential barcode is foundChecksumException
- if a potential barcode is found but does not pass its checksumFormatException
- if a potential barcode is found but format is invalidprotected abstract int decodeMiddle(BitArray row, int[] startRange, StringBuilder resultString) throws NotFoundException
row
- row of black/white values to searchstartRange
- start/end offset of start guard patternresultString
- StringBuilder
to append decoded chars toNotFoundException
- if decoding could not complete successfullyCopyright © 2007–2024. All rights reserved.