Enum QREncodeMode
Nombre del espacio: Aspose.BarCode.Generation Asamblea: Aspose.BarCode.dll (25.4.0)
Modo de codificación para los códigos de barras QR.
public enum QREncodeMode
Fields
Auto = 0
En modo automático, el CodeText está codificado con la máxima compacidad de datos.Los caracteres Unicode se codifican en modo kanji si es posible, o se codifican de nuevo en la codificación ECIEnc especificada con la inserción de un identificador ECI.Si se encuentra un personaje que no está apoyado por la codificación ECI seleccionada, se arroja una excepción.
Binary = 7
En el modo binario, el CodeText está codificado con la máxima compacidad de datos.Si se encuentra un personaje Unicode, se arroja una excepción.
Bytes = 1
Si detecta cualquier caracter Unicode, el caracter se codificará como dos bytes, bajos más bajos primero.
ECI = 8
En el modo ECI, todo el mensaje se codifica de nuevo en la codificación especificada por ECIEncoding con la inserción de un identificador ECI.Si se encuentra un personaje que no está apoyado por la codificación ECI seleccionada, se arroja una excepción.Por favor, tenga en cuenta que algunos scanners antiguos (antes de 2006) pueden no soportar este modo.Este modo no es compatible con los códigos de barro MicroQR.
ECIEncoding = 4
Encodificar el texto de código con el valor establecido en la propiedad de codificación ECIE. Puede haber problemas con algunos escáneres de código de barras antiguos (antes de 2006.Este modo no es compatible con los códigos de barro MicroQR.
Extended = 6
Modo de canal ampliado que soporta la primera posición de FNC1, la segunda posición de FNC1 y los modos ECI múltiples.
Es mejor usar QrExtCodetextBuilder para la generación extendida de codetext.
Utilice la propiedad Display2DText para configurar el texto visible para eliminar los caracteres de gestión.
Principio de codificación:
Todos los símbolos “" deben ser duplicados “" en el código.
FNC1 en la primera posición se establece en el código como “
FNC1 en la segunda posición se establece en el código como “<FNC1(valor)>”. El valor debe ser símbolos únicos (a-z, A-Z) o cifras de 0 a 99.
Separador de grupo para los modos FNC1 se establece como 0x1D caracter ‘\u001D’
Si necesitas insertar la barra “
Los identificadores de ECI se establecen como un solo slash y un identificador de seis dígitos “\000026” - UTF8 identificador de ECI
Para deshabilitar el modo ECI actual y convertirlo en el modo JIS8 por defecto, se establece el indetificador ECI en modo cero”
Todos los caracteres de unicode después del identificador ECI se codifican automáticamente en el codeset de carácter correcto.
Este modo no es compatible con los códigos de barro MicroQR.
ExtendedCodetext = 5
Modo de canal ampliado que soporta la primera posición de FNC1, la segunda posición de FNC1 y los modos ECI múltiples.
Es mejor usar QrExtCodetextBuilder para la generación extendida de codetext.
Utilice la propiedad Display2DText para configurar el texto visible para eliminar los caracteres de gestión.
Principio de codificación:
Todos los símbolos “" deben ser duplicados “" en el código.
FNC1 en la primera posición se establece en el código como “
FNC1 en la segunda posición se establece en el código como “<FNC1(valor)>”. El valor debe ser símbolos únicos (a-z, A-Z) o cifras de 0 a 99.
Separador de grupo para los modos FNC1 se establece como 0x1D caracter ‘\u001D’
Si necesitas insertar la barra “
Los identificadores de ECI se establecen como un solo slash y un identificador de seis dígitos “\000026” - UTF8 identificador de ECI
Para deshabilitar el modo ECI actual y convertirlo en el modo JIS8 por defecto, se establece el indetificador ECI en modo cero”
Todos los caracteres de unicode después del identificador ECI se codifican automáticamente en el codeset de carácter correcto.
Este modo no es compatible con los códigos de barro MicroQR.
Utf16BEBOM = 3
Encodificar el código con el codificación UTF8 con el primer caracter ByteOfMark. Puede ser un problema con algunos escáneres de código de barras.
Utf8BOM = 2
Encodificar el código con el codificación UTF8 con el primer carácter ByteOfMark.
Examples
Estas muestras muestran cómo codificar y guardar el código de barras QR con formatos de datos ampliados.
//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