Enum Class QREncodeMode

java.lang.Object
java.lang.Enum<QREncodeMode>
com.aspose.barcode.generation.QREncodeMode
All Implemented Interfaces:
Serializable, Comparable<QREncodeMode>, Constable

public enum QREncodeMode extends Enum<QREncodeMode>

Encoding mode for QR barcodes.


 Example how to use ECI encoding
 
     BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR);
     generator.setCodeText("12345TEXT");
     generator.getParameters().getBarcode().getQR().setEncodeMode(QREncodeMode.ECI_ENCODING);
     generator.getParameters().getBarcode().getQR().setQrECIEncoding(ECIEncodings.UTF8);
     generator.save("test.png");
 


  Example how to use FNC1 first position in Extended Mode
  
      QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
      textBuilder.addPlainCodetext("000%89%%0");
      textBuilder.addFNC1GroupSeparator();
      textBuilder.addPlainCodetext("12345<FNC1>");
      //generate barcode
      BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR);
      generator.setCodeText(textBuilder.getExtended());
      generator.getParameters().getBarcode().getQR().setEncodeMode(QREncodeMode.EXTENDED_CODETEXT);
      generator.getParameters().getBarcode().getCodeTextParameters().setTwoDDisplayText("My Text");
      generator.save("d:/test.png");
 
* This sample shows how to use FNC1 second position in Extended Mode.

    //create codetext
    QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
    textBuilder.addFNC1SecondPosition("12");
    textBuilder.addPlainCodetext("TRUE3456");
    //generate barcode
    BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR);
    generator.setCodeText(textBuilder.getExtended());
    generator.getParameters().getBarcode().getCodeTextParameters().setTwoDDisplayText("My Text");
    generator.save("d:/test.png");
    
This sample shows how to use multi ECI mode in Extended Mode.

   //create codetext
   QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
   textBuilder.addECICodetext(ECIEncodings.Win1251, "Will");
   textBuilder.addECICodetext(ECIEncodings.UTF8, "Right");
   textBuilder.addECICodetext(ECIEncodings.UTF16BE, "Power");
   textBuilder.addPlainCodetext("t\e\\st");
   //generate barcode
   BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR);
   generator.setCodeText(textBuilder.getExtended());
   generator.getParameters().getBarcode().getQR().setEncodeMode(QREncodeMode.EXTENDED_CODETEXT);
   generator.getParameters().getBarcode().getCodeTextParameters().setTwoDDisplayText("My Text");
   generator.save("d:/test.png");
  

  • Nested Class Summary

    Nested classes/interfaces inherited from class java.lang.Enum

    Enum.EnumDesc<E extends Enum<E>>
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
    In Auto mode, the CodeText is encoded with maximum data compactness.
    In Binary mode, the CodeText is encoded with maximum data compactness.
    Deprecated.
    This property is obsolete and will be removed in future releases.
    In ECI mode, the entire message is re-encoded in the ECIEncoding specified encoding with the insertion of an ECI identifier.
    Deprecated.
    This property is obsolete and will be removed in future releases.
    Extended Channel mode which supports FNC1 first position, FNC1 second position and multi ECI modes. It is better to use QrExtCodetextBuilder for extended codetext generation. Use Display2DText property to set visible text to removing managing characters. Encoding Principles: All symbols "\" must be doubled "\\" in the codetext. FNC1 in first position is set in codetext as as "<FNC1>" FNC1 in second position is set in codetext as as "<FNC1(value)>".
    Deprecated.
    This property is obsolete and will be removed in future releases.
    Deprecated.
    This property is obsolete and will be removed in future releases.
    Deprecated.
    This property is obsolete and will be removed in future releases.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
     
    Returns the enum constant of this class with the specified name.
    static QREncodeMode[]
    Returns an array containing the constants of this enum class, in the order they are declared.

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

    • AUTO

      public static final QREncodeMode AUTO
      In Auto mode, the CodeText is encoded with maximum data compactness. Unicode characters are encoded in kanji mode if possible, or they are re-encoded in the ECIEncoding specified encoding with the insertion of an ECI identifier. If a character is found that is not supported by the selected ECI encoding, an exception is thrown.
    • BYTES

      @Deprecated public static final QREncodeMode BYTES
      Deprecated.
      This property is obsolete and will be removed in future releases. Instead, use the 'SetCodeText' method to convert the message to byte array with specified encoding.
      Encode codetext as plain bytes. If it detects any Unicode character, the character will be encoded as two bytes, lower byte first.
    • UTF_8_BOM

      @Deprecated public static final QREncodeMode UTF_8_BOM
      Deprecated.
      This property is obsolete and will be removed in future releases. Instead, use the 'SetCodeText' method with UTF8 encoding to add a byte order mark (BOM) and encode the message. After that, the CodeText can be encoded using the 'Auto' mode.
      Encode codetext with UTF8 encoding with first ByteOfMark character.
    • UTF_16_BEBOM

      @Deprecated public static final QREncodeMode UTF_16_BEBOM
      Deprecated.
      This property is obsolete and will be removed in future releases. Instead, use the 'SetCodeText' method with BigEndianUnicode encoding to add a byte order mark (BOM) and encode the message. After that, the CodeText can be encoded using the 'Auto' mode.
      Encode codetext with UTF8 encoding with first ByteOfMark character. It can be problems with some barcode scanners.
    • ECI_ENCODING

      @Deprecated public static final QREncodeMode ECI_ENCODING
      Deprecated.
      This property is obsolete and will be removed in future releases. Instead, use ECI option.
      Encode codetext with value set in the ECIEncoding property. It can be problems with some old (pre 2006) barcode scanners. This mode is not supported by MicroQR barcodes.
    • EXTENDED_CODETEXT

      public static final QREncodeMode EXTENDED_CODETEXT
      Deprecated.
      This property is obsolete and will be removed in future releases. Instead, use the 'Extended' encode mode.
      Extended Channel mode which supports FNC1 first position, FNC1 second position and multi ECI modes. It is better to use QrExtCodetextBuilder for extended codetext generation. Use Display2DText property to set visible text to removing managing characters. Encoding Principles: All symbols "\" must be doubled "\\" in the codetext. FNC1 in first position is set in codetext as as "<FNC1>" FNC1 in second position is set in codetext as as "<FNC1(value)>". The value must be single symbols (a-z, A-Z) or digits from 0 to 99. Group Separator for FNC1 modes is set as 0x1D character '\\u001D' If you need to insert "<FNC1>" string into barcode write it as "<\FNC1>" ECI identifiers are set as single slash and six digits identifier "\000026" - UTF8 ECI identifier To disable current ECI mode and convert to default JIS8 mode zero mode ECI indetifier is set. "\000000" All unicode characters after ECI identifier are automatically encoded into correct character codeset. This mode is not supported by MicroQR barcodes.
    • EXTENDED

      public static final QREncodeMode EXTENDED
      Extended Channel mode which supports FNC1 first position, FNC1 second position and multi ECI modes. It is better to use QrExtCodetextBuilder for extended codetext generation. Use Display2DText property to set visible text to removing managing characters. Encoding Principles: All symbols "\" must be doubled "\\" in the codetext. FNC1 in first position is set in codetext as as "<FNC1>" FNC1 in second position is set in codetext as as "<FNC1(value)>". The value must be single symbols (a-z, A-Z) or digits from 0 to 99. Group Separator for FNC1 modes is set as 0x1D character '\\u001D' If you need to insert "<FNC1>" string into barcode write it as "<\FNC1>" ECI identifiers are set as single slash and six digits identifier "\000026" - UTF8 ECI identifier To disable current ECI mode and convert to default JIS8 mode zero mode ECI indetifier is set. "\000000" All unicode characters after ECI identifier are automatically encoded into correct character codeset. This mode is not supported by MicroQR barcodes.
    • BINARY

      public static final QREncodeMode BINARY
      In Binary mode, the CodeText is encoded with maximum data compactness. If a Unicode character is found, an exception is thrown.
    • ECI

      public static final QREncodeMode ECI
      In ECI mode, the entire message is re-encoded in the ECIEncoding specified encoding with the insertion of an ECI identifier. If a character is found that is not supported by the selected ECI encoding, an exception is thrown. Please note that some old (pre 2006) scanners may not support this mode. This mode is not supported by MicroQR barcodes.
  • Method Details

    • values

      public static QREncodeMode[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static QREncodeMode valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getValue

      public int getValue()