QREncodeMode

Inheritance: java.lang.Object, java.lang.Enum

public enum QREncodeMode extends Enum<QREncodeMode>

Encoding mode for QR barcodes. It is recomended to Use AUTO with CodeTextEncoding = Encoding.UTF8 for latin symbols or digits and UTF_8_BOM for unicode symbols.


Example how to use ECI encoding
 
     BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR);
     generator.setCodeText("12345TEXT");
     generator.getParameters().getBarcode().getQR().setQrEncodeMode(QREncodeMode.ECI_ENCODING);
     generator.getParameters().getBarcode().getQR().setQrEncodeType(QREncodeType.FORCE_QR);
     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.getExtendedCodetext());
      generator.getParameters().getBarcode().getQR().setQrEncodeMode(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.getExtendedCodetext());
    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.getExtendedCodetext());
   generator.getParameters().getBarcode().getQR().setQrEncodeMode(QREncodeMode.EXTENDED_CODETEXT);
   generator.getParameters().getBarcode().getCodeTextParameters().setTwoDDisplayText("My Text");
   generator.save("d:/test.png");

Fields

FieldDescription
AUTOEncode codetext as is non-unicode charset.
BYTESEncode codetext as plain bytes.
ECI_ENCODINGEncode codetext with value set in the ECI_ENCODING property.
EXTENDED_CODETEXT
UTF_16_BEBOMEncode codetext with UTF8 encoding with first ByteOfMark character.
UTF_8_BOMEncode codetext with UTF8 encoding with first ByteOfMark character.

Methods

MethodDescription
valueOf(Class arg0, String arg1)
compareTo(E arg0)
equals(Object arg0)
getClass()
getDeclaringClass()
getValue()
hashCode()
name()
notify()
notifyAll()
ordinal()
toString()
valueOf(String name)
values()
wait()
wait(long arg0)
wait(long arg0, int arg1)

AUTO

public static final QREncodeMode AUTO

Encode codetext as is non-unicode charset. If there is any unicode character, the codetext will be encoded with value which is set in CodeTextEncoding.

BYTES

public static final QREncodeMode BYTES

Encode codetext as plain bytes. If it detects any unicode character, the character will be encoded as two bytes, lower byte first.

ECI_ENCODING

public static final QREncodeMode ECI_ENCODING

Encode codetext with value set in the ECI_ENCODING property. It can be problems with some old (pre 2006) barcode scaners.

EXTENDED_CODETEXT

public static final QREncodeMode EXTENDED_CODETEXT

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 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 “” 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.

UTF_16_BEBOM

public static final QREncodeMode UTF_16_BEBOM

Encode codetext with UTF8 encoding with first ByteOfMark character. It can be problems with some barcode scaners.

UTF_8_BOM

public static final QREncodeMode UTF_8_BOM

Encode codetext with UTF8 encoding with first ByteOfMark character.

valueOf(Class arg0, String arg1)

public static T <T>valueOf(Class<T> arg0, String arg1)

Parameters:

ParameterTypeDescription
arg0java.lang.Class
arg1java.lang.String

Returns: T

compareTo(E arg0)

public final int compareTo(E arg0)

Parameters:

ParameterTypeDescription
arg0E

Returns: int

equals(Object arg0)

public final boolean equals(Object arg0)

Parameters:

ParameterTypeDescription
arg0java.lang.Object

Returns: boolean

getClass()

public final native Class<?> getClass()

Returns: java.lang.Class

getDeclaringClass()

public final Class<E> getDeclaringClass()

Returns: java.lang.Class

getValue()

public int getValue()

Returns: int

hashCode()

public final int hashCode()

Returns: int

name()

public final String name()

Returns: java.lang.String

notify()

public final native void notify()

notifyAll()

public final native void notifyAll()

ordinal()

public final int ordinal()

Returns: int

toString()

public String toString()

Returns: java.lang.String

valueOf(String name)

public static QREncodeMode valueOf(String name)

Parameters:

ParameterTypeDescription
namejava.lang.String

Returns: QREncodeMode

values()

public static QREncodeMode[] values()

Returns: com.aspose.barcode.generation.QREncodeMode[]

wait()

public final void wait()

wait(long arg0)

public final native void wait(long arg0)

Parameters:

ParameterTypeDescription
arg0long

wait(long arg0, int arg1)

public final void wait(long arg0, int arg1)

Parameters:

ParameterTypeDescription
arg0long
arg1int