MaxiCode Barcodes
Contents
[
Hide
]
MaxiCode Barcodes
Aspose.BarCode for Java provides typed models for MaxiCode mode 2 and mode 3. The modes differ mainly in the postal-code format and both support structured second messages.
The complete source code for this article is available on GitHub:
Create MaxiCode mode 2
Mode 2 uses a numeric postal code:
MaxiCodeCodetextMode2 codetext =
new MaxiCodeCodetextMode2();
codetext.setPostalCode("524032140");
codetext.setCountryCode(56);
codetext.setServiceCategory(999);
Add a structured second message
MaxiCodeStructuredSecondMessage message =
new MaxiCodeStructuredSecondMessage();
message.add("MODE 2 MESSAGE");
message.add("WAREHOUSE 12");
message.setYear(26);
codetext.setSecondMessage(message);
Create MaxiCode mode 3
Mode 3 supports an alphanumeric postal code:
MaxiCodeCodetextMode3 codetext =
new MaxiCodeCodetextMode3();
codetext.setPostalCode("B1050");
codetext.setCountryCode(56);
codetext.setServiceCategory(999);
Read the recognized mode
The recognized MaxiCode mode is available through extended parameters:
int mode = results[0]
.getExtended()
.getMaxiCode()
.getMode();
Pass the mode and recognized text to the decoder:
MaxiCodeCodetext decoded =
ComplexCodetextReader.tryDecodeMaxiCode(
mode,
results[0].getCodeText()
);
Validate the decoded subtype
Check whether the result is MaxiCodeCodetextMode2 or MaxiCodeCodetextMode3 before casting. Then validate postal code, country code, service category, year, and second-message identifiers.
Recommendations
- Use mode 2 for numeric postal codes.
- Use mode 3 for alphanumeric postal codes.
- Read the recognized mode from extended parameters.
- Pass the mode to
tryDecodeMaxiCode. - Validate the decoded subtype before casting.