Enum QREncodeMode
Nome do espaço: Aspose.BarCode.Generation Assembleia: Aspose.BarCode.dll (25.4.0)
Modo de codificação para códigos QR.
public enum QREncodeMode
Fields
Auto = 0
No modo Auto, o CodeText é codificado com compacto máximo de dados.Os caracteres Unicode são codificados em modo kanji, se possível, ou eles são reencodados na codificação especificada ECIEncoding com a inserção de um identificador ECI.Se um personagem for encontrado que não é suportado pela codificação ECI selecionada, uma exceção é jogada.
Binary = 7
Em modo binário, o CodeText é codificado com a maior compacidade de dados.Se um caráter Unicode for encontrado, uma exceção é jogada.
Bytes = 1
Se detectar qualquer caracter Unicode, o caracter será codificado como dois bytes, o byte inferior primeiro.
ECI = 8
No modo ECI, a mensagem inteira é reencodada na codificação especificada ECIEncoding com a inserção de um identificador ECI.Se um personagem for encontrado que não é suportado pela codificação ECI selecionada, uma exceção é jogada.Por favor, note que alguns scanners antigos (antes de 2006) podem não suportar este modo.Este modo não é suportado por códigos de barra MicroQR.
ECIEncoding = 4
Código de texto com valor definido na propriedade de codificação ECIE. Pode haver problemas com alguns scanners de código de barras antigos (antes de 2006) .Este modo não é suportado por códigos de barra MicroQR.
Extended = 6
Modo de canal estendido que suporta FNC1 primeira posição, FNC1 segunda posição e modos multi ECI.
É melhor usar QrExtCodetextBuilder para geração de codetext estendida.
Use a propriedade Display2DText para definir texto visível para remover caracteres gerenciais.
Princípios de codificação:
Todos os símbolos “" devem ser duplicados “" no código.
FNC1 na primeira posição é definido no código como “
FNC1 na segunda posição é definido no código como “<FNC1(valor)>".O valor deve ser símbolos únicos (a-z, A-Z) ou dígitos de 0 a 99.
Separador de grupo para modos FNC1 é definido como 0x1D caracter ‘\u001D’
Se você precisar inserir a barra “
Identificadores ECI são definidos como um único slash e seis dígitos identificador “\000026” - UTF8 ECI identificador
Para desativar o modo ECI atual e converter para o modo JIS8 padrão, é configurado o indetificador ECI no modo zero.
Todos os caracteres unicode após o identificador ECI são automaticamente codificados para o código de caracteres correto.
Este modo não é suportado por códigos de barra MicroQR.
ExtendedCodetext = 5
Modo de canal estendido que suporta FNC1 primeira posição, FNC1 segunda posição e modos multi ECI.
É melhor usar QrExtCodetextBuilder para geração de codetext estendida.
Use a propriedade Display2DText para definir texto visível para remover caracteres gerenciais.
Princípios de codificação:
Todos os símbolos “" devem ser duplicados “" no código.
FNC1 na primeira posição é definido no código como “
FNC1 na segunda posição é definido no código como “<FNC1(valor)>".O valor deve ser símbolos únicos (a-z, A-Z) ou dígitos de 0 a 99.
Separador de grupo para modos FNC1 é definido como 0x1D caracter ‘\u001D’
Se você precisar inserir a barra “
Identificadores ECI são definidos como um único slash e seis dígitos identificador “\000026” - UTF8 ECI identificador
Para desativar o modo ECI atual e converter para o modo JIS8 padrão, é configurado o indetificador ECI no modo zero.
Todos os caracteres unicode após o identificador ECI são automaticamente codificados para o código de caracteres correto.
Este modo não é suportado por códigos de barra MicroQR.
Utf16BEBOM = 3
Codificar texto com codificação UTF8 com o primeiro caracter ByteOfMark. pode ser um problema com alguns scanners de código de barras.
Utf8BOM = 2
Codificar texto com codificação UTF8 com o primeiro caracter ByteOfMark.
Examples
Estas amostras mostram como codificar e salvar o código de barra QR com formatos de dados extensos.
//This sample shows how to use ECI encoding and save a BarCode image.
[C#]
using (Aspose.BarCode.Generation.BarcodeGenerator generator = new Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR))
{
generator.CodeText = "12345TEXT";
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.ECIEncoding;
generator.Parameters.Barcode.QR.QrECIEncoding = ECIEncodings.UTF8;
generator.Save("test.png");
}
Using generator As New Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR)
generator.CodeText = "12345TEXT"
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.ECIEncoding
generator.Parameters.Barcode.QR.QrECIEncoding = ECIEncodings.UTF8
generator.Save("test.png")
End Using
//This sample shows how to use FNC1 first position in Extended 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.
[C#]
//create codetext
QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
textBuilder.AddFNC1FirstPosition();
textBuilder.AddPlainCodetext("000%89%%0");
textBuilder.AddFNC1GroupSeparator();
textBuilder.AddPlainCodetext("12345<FNC1>");
//generate barcode
using (Aspose.BarCode.Generation.BarcodeGenerator generator = new Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR))
{
generator.CodeText = textBuilder.GetExtendedCodetext();
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extended;
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text";
generator.Save(@"d:\test.png");
}
'create codetext
Dim textBuilder As New QrExtCodetextBuilder()
textBuilder.AddFNC1FirstPosition()
textBuilder.AddPlainCodetext("000%89%%0")
textBuilder.AddFNC1GroupSeparator()
textBuilder.AddPlainCodetext("12345<FNC1>")
'generate barcode
Using generator As New Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR)
generator.CodeText = textBuilder.GetExtendedCodetext()
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extended
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text"
generator.Save("test.png")
End Using
//This sample shows how to use FNC1 second position in Extended Mode.
[C#]
//create codetext
QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
textBuilder.AddFNC1SecondPosition("12");
textBuilder.AddPlainCodetext("TRUE3456");
//generate barcode
using (Aspose.BarCode.Generation.BarcodeGenerator generator = new Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR))
{
generator.CodeText = textBuilder.GetExtendedCodetext();
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extended;
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text";
generator.Save(@"d:\test.png");
}
'create codetext
Dim textBuilder As New QrExtCodetextBuilder()
textBuilder.AddFNC1SecondPosition("12")
textBuilder.AddPlainCodetext("TRUE3456")
'generate barcode
Using generator As New Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR)
generator.CodeText = textBuilder.GetExtendedCodetext()
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extended
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text"
generator.Save("test.png")
End Using
//This sample shows how to use multi ECI mode in Extended Mode.
[C#]
//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
using (Aspose.BarCode.Generation.BarcodeGenerator generator = new Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR))
{
generator.CodeText = textBuilder.GetExtendedCodetext();
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extendedt;
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text";
generator.Save(@"d:\test.png");
}
'create codetext
Dim textBuilder As New QrExtCodetextBuilder()
textBuilder.AddECICodetext(ECIEncodings.Win1251, "Will")
textBuilder.AddECICodetext(ECIEncodings.UTF8, "Right")
textBuilder.AddECICodetext(ECIEncodings.UTF16BE, "Power")
textBuilder.AddPlainCodetext(@"t\e\\st")
'generate barcode
Using generator As New Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR)
generator.CodeText = textBuilder.GetExtendedCodetext()
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extended
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text"
generator.Save("test.png")
End Using