Class for encoding and decoding the text embedded in the MaxiCode code for modes 3.
This sample shows how to encode and decode MaxiCode codetext for mode 3.
//Mode 3 with standart second message
maxiCodeCodetext = MaxiCodeCodetextMode3()
maxiCodeCodetext.setPostalCode("B1050")
maxiCodeCodetext.setCountryCode(056)
maxiCodeCodetext.setServiceCategory(999)
maxiCodeStandartSecondMessage = MaxiCodeStandartSecondMessage()
maxiCodeStandartSecondMessage.setMessage("Test message")
maxiCodeCodetext.setSecondMessage(maxiCodeStandartSecondMessage)
complexGenerator = ComplexBarcodeGenerator(maxiCodeCodetext)
complexGenerator.generateBarCodeImage()
//Mode 3 with structured second message
maxiCodeCodetext = MaxiCodeCodetextMode3()
maxiCodeCodetext.setPostalCode("B1050")
maxiCodeCodetext.setCountryCode(056)
maxiCodeCodetext.setServiceCategory(999)
maxiCodeStructuredSecondMessage = MaxiCodeStructuredSecondMessage()
maxiCodeStructuredSecondMessage.add("634 ALPHA DRIVE")
maxiCodeStructuredSecondMessage.add("PITTSBURGH")
maxiCodeStructuredSecondMessage.add("PA")
maxiCodeStructuredSecondMessage.setYear(99)
maxiCodeCodetext.setSecondMessage(maxiCodeStructuredSecondMessage)
complexGenerator = ComplexBarcodeGenerator(maxiCodeCodetext)
complexGenerator.generateBarCodeImage()
//Decoding raw codetext with standart second message
reader = Recognition.BarCodeReader("c:\\test.png", None, DecodeType.MAXI_CODE)
for result in reader.readBarCodes():
resultMaxiCodeCodetext = ComplexCodetextReader.tryDecodeMaxiCode(result.getExtended().getMaxiCode().getMaxiCodeMode(), result.getCodeText())
if resultMaxiCodeCodetext instanceOf MaxiCodeCodetextMode3:
maxiCodeStructuredCodetext = resultMaxiCodeCodetext
print("BarCode Type: " + maxiCodeStructuredCodetext.getPostalCode())
print("MaxiCode mode: " + maxiCodeStructuredCodetext.getCountryCode())
print("BarCode CodeText: " + maxiCodeStructuredCodetext.getServiceCategory())
if maxiCodeStructuredCodetext.getSecondMessage() is MaxiCodeStandartSecondMessage:
secondMessage = maxiCodeStructuredCodetext.getSecondMessage()
print("Message: " + secondMessage.getMessage())
reader = Recognition.BarCodeReader("c:\\test.png", None, DecodeType.MAXI_CODE)
for result in reader.readBarCodes():
resultMaxiCodeCodetext = ComplexCodetextReader.tryDecodeMaxiCode(result.getExtended().getMaxiCode().getMaxiCodeMode(), result.getCodeText())
if resultMaxiCodeCodetext is MaxiCodeCodetextMode3:
maxiCodeStructuredCodetext = resultMaxiCodeCodetext
print("BarCode Type: " + maxiCodeStructuredCodetext.getPostalCode())
print("MaxiCode mode: " + maxiCodeStructuredCodetext.getCountryCode())
print("BarCode CodeText: " + maxiCodeStructuredCodetext.getServiceCategory())
if maxiCodeStructuredCodetext.getSecondMessage() is MaxiCodeStructuredSecondMessage:
secondMessage = maxiCodeStructuredCodetext.getSecondMessage()
print("Message:")
for identifier in secondMessage.getIdentifiers():
print(identifier)