下面列出了怎么用com.google.zxing.oned.UPCEReader的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public ProductParsedResult parse(Result result) {
BarcodeFormat format = result.getBarcodeFormat();
if (!(format == BarcodeFormat.UPC_A || format == BarcodeFormat.UPC_E ||
format == BarcodeFormat.EAN_8 || format == BarcodeFormat.EAN_13)) {
return null;
}
String rawText = getMassagedText(result);
if (!isStringOfDigits(rawText, rawText.length())) {
return null;
}
// Not actually checking the checksum again here
String normalizedProductID;
// Expand UPC-E for purposes of searching
if (format == BarcodeFormat.UPC_E && rawText.length() == 8) {
normalizedProductID = UPCEReader.convertUPCEtoUPCA(rawText);
} else {
normalizedProductID = rawText;
}
return new ProductParsedResult(rawText, normalizedProductID);
}
@Override
public ProductParsedResult parse(Result result) {
BarcodeFormat format = result.getBarcodeFormat();
if (!(format == BarcodeFormat.UPC_A || format == BarcodeFormat.UPC_E ||
format == BarcodeFormat.EAN_8 || format == BarcodeFormat.EAN_13)) {
return null;
}
String rawText = getMassagedText(result);
if (!isStringOfDigits(rawText, rawText.length())) {
return null;
}
// Not actually checking the checksum again here
String normalizedProductID;
// Expand UPC-E for purposes of searching
if (format == BarcodeFormat.UPC_E && rawText.length() == 8) {
normalizedProductID = UPCEReader.convertUPCEtoUPCA(rawText);
} else {
normalizedProductID = rawText;
}
return new ProductParsedResult(rawText, normalizedProductID);
}
@Override
public ProductParsedResult parse(Result result) {
BarcodeFormat format = result.getBarcodeFormat();
if (!(format == BarcodeFormat.UPC_A || format == BarcodeFormat.UPC_E ||
format == BarcodeFormat.EAN_8 || format == BarcodeFormat.EAN_13)) {
return null;
}
String rawText = getMassagedText(result);
if (!isStringOfDigits(rawText, rawText.length())) {
return null;
}
// Not actually checking the checksum again here
String normalizedProductID;
// Expand UPC-E for purposes of searching
if (format == BarcodeFormat.UPC_E && rawText.length() == 8) {
normalizedProductID = UPCEReader.convertUPCEtoUPCA(rawText);
} else {
normalizedProductID = rawText;
}
return new ProductParsedResult(rawText, normalizedProductID);
}
@Override
public ProductParsedResult parse(Result result) {
BarcodeFormat format = result.getBarcodeFormat();
if (!(format == BarcodeFormat.UPC_A || format == BarcodeFormat.UPC_E ||
format == BarcodeFormat.EAN_8 || format == BarcodeFormat.EAN_13)) {
return null;
}
String rawText = getMassagedText(result);
if (!isStringOfDigits(rawText, rawText.length())) {
return null;
}
// Not actually checking the checksum again here
String normalizedProductID;
// Expand UPC-E for purposes of searching
if (format == BarcodeFormat.UPC_E && rawText.length() == 8) {
normalizedProductID = UPCEReader.convertUPCEtoUPCA(rawText);
} else {
normalizedProductID = rawText;
}
return new ProductParsedResult(rawText, normalizedProductID);
}
@Override
public ProductParsedResult parse(Result result) {
BarcodeFormat format = result.getBarcodeFormat();
if (!(format == BarcodeFormat.UPC_A || format == BarcodeFormat.UPC_E || format == BarcodeFormat.EAN_8
|| format == BarcodeFormat.EAN_13)) {
return null;
}
String rawText = getMassagedText(result);
if (!isStringOfDigits(rawText, rawText.length())) {
return null;
}
// Not actually checking the checksum again here
String normalizedProductID;
// Expand UPC-E for purposes of searching
if (format == BarcodeFormat.UPC_E && rawText.length() == 8) {
normalizedProductID = UPCEReader.convertUPCEtoUPCA(rawText);
} else {
normalizedProductID = rawText;
}
return new ProductParsedResult(rawText, normalizedProductID);
}
@Override
public ProductParsedResult parse(Result result) {
BarcodeFormat format = result.getBarcodeFormat();
if (!(format == BarcodeFormat.UPC_A || format == BarcodeFormat.UPC_E ||
format == BarcodeFormat.EAN_8 || format == BarcodeFormat.EAN_13)) {
return null;
}
String rawText = getMassagedText(result);
int length = rawText.length();
for (int x = 0; x < length; x++) {
char c = rawText.charAt(x);
if (c < '0' || c > '9') {
return null;
}
}
// Not actually checking the checksum again here
String normalizedProductID;
// Expand UPC-E for purposes of searching
if (format == BarcodeFormat.UPC_E) {
normalizedProductID = UPCEReader.convertUPCEtoUPCA(rawText);
} else {
normalizedProductID = rawText;
}
return new ProductParsedResult(rawText, normalizedProductID);
}
/**
* Returns a ZXing reader that can read the specified symbol.
*
* @param symbol the symbol to be read
* @return a ZXing reader that can read the specified symbol
*/
private static Reader findReader(Symbol symbol) {
// TODO: see if we can massage data enough to check MaxiCode symbols against MaxiCodeReader instances
if (symbol instanceof Code128 || symbol instanceof UspsPackage) {
return new Code128Reader();
} else if (symbol instanceof Code93) {
return new Code93Reader();
} else if (symbol instanceof Code3Of9) {
return new Code39Reader();
} else if (symbol instanceof Codabar) {
return new CodaBarReader();
} else if (symbol instanceof AztecCode &&
symbol.getDataType() != DataType.GS1 &&
symbol.getEciMode() == 3 &&
!symbol.getReaderInit() &&
!symbol.getContent().isEmpty()) {
// ZXing does not currently support GS1 in Aztec Code symbols
// ZXing does not currently support ECI in Aztec Code symbols
// ZXing does not currently support reader initialization in Aztec Code symbols
// ZXing cannot find symbols if they don't contain any actual data
return new AztecReader();
} else if (symbol instanceof QrCode) {
return new QRCodeReader();
} else if (symbol instanceof DataMatrix &&
symbol.getEciMode() == 3 &&
((DataMatrix) symbol).getStructuredAppendTotal() == 1) {
// ZXing does not currently support ECI in Data Matrix symbols
// ZXing does not currently support Structured Append in Data Matrix symbols
return new DataMatrixReader();
} else if (symbol instanceof Ean) {
Ean ean = (Ean) symbol;
if (ean.getMode() == Ean.Mode.EAN8) {
return new EAN8Reader();
} else {
return new EAN13Reader();
}
} else if (symbol instanceof Pdf417) {
Pdf417 pdf417 = (Pdf417) symbol;
if (pdf417.getMode() != Pdf417.Mode.MICRO) {
return new PDF417Reader();
}
} else if (symbol instanceof Upc) {
Upc upc = (Upc) symbol;
if (upc.getMode() == Upc.Mode.UPCA) {
return new UPCAReader();
} else {
return new UPCEReader();
}
} else if (symbol instanceof DataBarExpanded) {
return new RSSExpandedReader();
} else if (symbol instanceof DataBar14 && !((DataBar14) symbol).getLinkageFlag()) {
return new RSS14Reader();
}
// no corresponding ZXing reader exists, or it behaves badly so we don't use it for testing
return null;
}