Class BarcodeSettings
java.lang.Object
com.aspose.barcode.barcoderecognition.BarcodeSettings
The main BarCode decoding parameters. Contains parameters which make influence on recognized data.
-
Method Summary
Modifier and TypeMethodDescriptionGets AustraliaPost decoding parametersEnable checksum validation during recognition for 1D and Postal barcodes.booleanThe flag which force engine to detect codetext encoding for Unicode codesets.booleanStrip FNC1, FNC2, FNC3 characters from codetext.booleanReturns only barcode types explicitly specified for recognition.voidEnable checksum validation during recognition for 1D and Postal barcodes.voidsetDetectEncoding(boolean value) The flag which force engine to detect codetext encoding for Unicode codesets.voidsetOnlyRequestedTypes(boolean value) Returns only barcode types explicitly specified for recognition.voidsetStripFNC(boolean value) Strip FNC1, FNC2, FNC3 characters from codetext.
-
Method Details
-
getChecksumValidation
Enable checksum validation during recognition for 1D and Postal barcodes. Default is treated as Yes for symbologies which must contain checksum, as No where checksum only possible. Checksum never used: Codabar, PatchCode, Pharmacode, DataLogic2of5 Checksum is possible: Code39 Standard/Extended, Standard2of5, Interleaved2of5, ItalianPost25, Matrix2of5, MSI, ItalianPost25, DeutschePostIdentcode, DeutschePostLeitcode, VIN Checksum always used: Rest symbologies Example BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.EAN_13, "1234567890128"); generator.save("c:/test.png"); BarCodeReader reader = new BarCodeReader("c:/test.png", DecodeType.EAN_13); //checksum disabled reader.getBarcodeSettings().setChecksumValidation(ChecksumValidation.OFF); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode CodeText: " + result.getCodeText()); System.out.println("BarCode Value: " + result.getExtended().getOneD().getValue()); System.out.println("BarCode Checksum: " + result.getExtended().getOneD().getCheckSum()); } BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.EAN_13); //checksum enabled reader.getBarcodeSettings().setChecksumValidation(ChecksumValidation.ON); for (BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode CodeText: " + result.CodeText); System.out.println("BarCode Value: " + result.getExtended().getOneD().getValue()); System.out.println("BarCode Checksum: " + result.getExtended().getOneD().getCheckSum()); }- Returns:
- Enable checksum validation during recognition for 1D and Postal barcodes.
-
setChecksumValidation
Enable checksum validation during recognition for 1D and Postal barcodes. Default is treated as Yes for symbologies which must contain checksum, as No where checksum only possible. Checksum never used: Codabar, PatchCode, Pharmacode, DataLogic2of5 Checksum is possible: Code39 Standard/Extended, Standard2of5, Interleaved2of5, ItalianPost25, Matrix2of5, MSI, ItalianPost25, DeutschePostIdentcode, DeutschePostLeitcode, VIN Checksum always used: Rest symbologies Example BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.EAN_13, "1234567890128"); generator.save("c:/test.png"); BarCodeReader reader = new BarCodeReader("c:/test.png", DecodeType.EAN_13); //checksum disabled reader.getBarcodeSettings().setChecksumValidation(ChecksumValidation.OFF); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode CodeText: " + result.getCodeText()); System.out.println("BarCode Value: " + result.getExtended().getOneD().getValue()); System.out.println("BarCode Checksum: " + result.getExtended().getOneD().getCheckSum()); } BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.EAN_13); //checksum enabled reader.getBarcodeSettings().setChecksumValidation(ChecksumValidation.ON); for (BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode CodeText: " + result.CodeText); System.out.println("BarCode Value: " + result.getExtended().getOneD().getValue()); System.out.println("BarCode Checksum: " + result.getExtended().getOneD().getCheckSum()); }- Parameters:
value- Enable checksum validation during recognition for 1D and Postal barcodes.
-
getStripFNC
public boolean getStripFNC()Strip FNC1, FNC2, FNC3 characters from codetext. Default value is false. Example BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.GS_1_CODE_128, "(02)04006664241007(37)1(400)7019590754"); generator.save("c:/test.png"); BarCodeReader reader = new BarCodeReader("c:/test.png", DecodeType.CODE_128); //StripFNC disabled reader.getBarcodeSettings().setStripFNC(false); for(BarCodeResult result : reader.readBarCodes()) { System.our.println("BarCode CodeText: " + result.getCodeText()); } BarCodeReader reader = new BarCodeReader("c:/test.png", DecodeType.CODE_128); //StripFNC enabled reader.getBarcodeSettings().setStripFNC(true); for(BarCodeResult result : reader.readBarCodes()) { System.our.println("BarCode CodeText: " + result.getCodeText()); }- Returns:
- Strip FNC1, FNC2, FNC3 characters from codetext. Default value is false.
-
setStripFNC
public void setStripFNC(boolean value) Strip FNC1, FNC2, FNC3 characters from codetext. Default value is false. Example BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.GS_1_CODE_128, "(02)04006664241007(37)1(400)7019590754"); generator.save("c:/test.png"); BarCodeReader reader = new BarCodeReader("c:/test.png", DecodeType.CODE_128); //StripFNC disabled reader.getBarcodeSettings().setStripFNC(false); for(BarCodeResult result : reader.readBarCodes()) { System.our.println("BarCode CodeText: " + result.getCodeText()); } BarCodeReader reader = new BarCodeReader("c:/test.png", DecodeType.CODE_128); //StripFNC enabled reader.getBarcodeSettings().setStripFNC(true); for(BarCodeResult result : reader.readBarCodes()) { System.our.println("BarCode CodeText: " + result.getCodeText()); }- Parameters:
value- Strip FNC1, FNC2, FNC3 characters from codetext. Default value is false.
-
isOnlyRequestedTypes
public boolean isOnlyRequestedTypes()Returns only barcode types explicitly specified for recognition. When enabled, recognized barcodes of other compatible or equivalent types are filtered out. Default value is false.Example:
// generate EAN13 barcode BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.EAN_13, "2383823482894"); generator.save("test.png"); // recognize only UPCA barcodes (no results, because source is EAN13) BarCodeReader reader = new BarCodeReader("test.png", DecodeType.UPCA); reader.getBarcodeSettings().setOnlyRequestedTypes(true); for (BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode CodeText: " + result.getCodeText()); } // recognize compatible types: EAN13, UPCA, ISSN, ISMN, ISBN // (EAN13 will be returned as UPCA-equivalent) BarCodeReader reader2 = new BarCodeReader("test.png", DecodeType.UPCA); reader2.getBarcodeSettings().setOnlyRequestedTypes(false); for (BarCodeResult result : reader2.readBarCodes()) { System.out.println("BarCode CodeText: " + result.getCodeText()); }- Returns:
- true if only explicitly requested barcode types are returned; otherwise false
-
setOnlyRequestedTypes
public void setOnlyRequestedTypes(boolean value) Returns only barcode types explicitly specified for recognition. When enabled, recognized barcodes of other compatible or equivalent types are filtered out. Default value is false.Example:
// generate EAN13 barcode BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.EAN_13, "2383823482894"); generator.save("test.png"); // recognize only UPCA barcodes (no results, because source is EAN13) BarCodeReader reader = new BarCodeReader("test.png", DecodeType.UPCA); reader.getBarcodeSettings().setOnlyRequestedTypes(true); for (BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode CodeText: " + result.getCodeText()); } // recognize compatible types: EAN13, UPCA, ISSN, ISMN, ISBN // (EAN13 will be returned as UPCA-equivalent) BarCodeReader reader2 = new BarCodeReader("test.png", DecodeType.UPCA); reader2.getBarcodeSettings().setOnlyRequestedTypes(false); for (BarCodeResult result : reader2.readBarCodes()) { System.out.println("BarCode CodeText: " + result.getCodeText()); } -
getDetectEncoding
public boolean getDetectEncoding()The flag which force engine to detect codetext encoding for Unicode codesets. Default value is true.
Value: The flag which force engine to detect codetext encoding for Unicode codesetsThis sample shows how to detect text encoding on the fly if DetectEncoding is enabled
ByteArrayOutputStream ms = new ByteArrayOutputStream(); BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR); generator.setCodeText("Слово", StandardCharsets.UTF_8); generator.save(ms, BarCodeImageFormat.PNG); BarCodeReader reader = new BarCodeReader(new ByteArrayInputStream(ms.toByteArray()), DecodeType.QR); reader.getBarcodeSettings().setDetectEncoding(true); for (BarCodeResult result : reader.readBarCodes()) System.out.println("BarCode CodeText: " + result.getCodeText()); //detect encoding is disabled reader = new BarCodeReader(new ByteArrayInputStream(ms.toByteArray()), DecodeType.QR); reader.getBarcodeSettings().setDetectEncoding(false); for (BarCodeResult result : reader.readBarCodes()) System.out.println("BarCode CodeText: " + result.getCodeText()); -
setDetectEncoding
public void setDetectEncoding(boolean value) The flag which force engine to detect codetext encoding for Unicode codesets. Default value is true.
Value: The flag which force engine to detect codetext encoding for Unicode codesetsThis sample shows how to detect text encoding on the fly if DetectEncoding is enabled
ByteArrayOutputStream ms = new ByteArrayOutputStream(); BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR); generator.setCodeText("Слово", StandardCharsets.UTF_8); generator.save(ms, BarCodeImageFormat.PNG); BarCodeReader reader = new BarCodeReader(new ByteArrayInputStream(ms.toByteArray()), DecodeType.QR); reader.getBarcodeSettings().setDetectEncoding(true); for (BarCodeResult result : reader.readBarCodes()) System.out.println("BarCode CodeText: " + result.getCodeText()); //detect encoding is disabled reader = new BarCodeReader(new ByteArrayInputStream(ms.toByteArray()), DecodeType.QR); reader.getBarcodeSettings().setDetectEncoding(false); for (BarCodeResult result : reader.readBarCodes()) System.out.println("BarCode CodeText: " + result.getCodeText()); -
getAustraliaPost
Gets AustraliaPost decoding parameters- Returns:
- The AustraliaPost decoding parameters which make influence on recognized data of AustraliaPost symbology
-