Enum QREncodeMode

Enum QREncodeMode

Namespace: Aspose.BarCode.Generation
Assembly: Aspose.BarCode.dll (25.1.0)

Tryb kodowania dla kodów QR.

public enum QREncodeMode

Pola

Auto = 0

W trybie automatycznym, CodeText jest kodowany z maksymalną kompaktnością danych. Znaki Unicode są kodowane w trybie kanji, jeśli to możliwe, lub są ponownie kodowane w określonym kodowaniu ECIEncoding z dodaniem identyfikatora ECI. Jeśli zostanie znaleziony znak, który nie jest obsługiwany przez wybrane kodowanie ECI, zgłaszany jest wyjątek.

Binary = 7

W trybie binarnym, CodeText jest kodowany z maksymalną kompaktnością danych. Jeśli zostanie znaleziony znak Unicode, zgłaszany jest wyjątek.

Bytes = 1

Koduj codetext jako zwykłe bajty. Jeśli wykryje jakikolwiek znak Unicode, zostanie on zakodowany jako dwa bajty, najpierw bajt niższy.

ECI = 8

W trybie ECI, cała wiadomość jest ponownie kodowana w określonym kodowaniu ECIEncoding z dodaniem identyfikatora ECI. Jeśli zostanie znaleziony znak, który nie jest obsługiwany przez wybrane kodowanie ECI, zgłaszany jest wyjątek. Należy pamiętać, że niektóre stare skanery (sprzed 2006 roku) mogą nie obsługiwać tego trybu. Ten tryb nie jest obsługiwany przez kody MicroQR.

ECIEncoding = 4

Koduj codetext z wartością ustawioną w właściwości ECIEncoding. Mogą wystąpić problemy z niektórymi starymi (sprzed 2006 roku) skanerami kodów kreskowych. Ten tryb nie jest obsługiwany przez kody MicroQR.

Extended = 6

Rozszerzony tryb kanałowy, który obsługuje FNC1 w pierwszej pozycji, FNC1 w drugiej pozycji oraz wiele trybów ECI.

Lepszym rozwiązaniem jest użycie QrExtCodetextBuilder do generacji rozszerzonego codetextu.

Użyj właściwości Display2DText, aby ustawić widoczny tekst do usunięcia znaków zarządzających.

Zasady kodowania:

Wszystkie symbole "\" muszą być podwajane "\\" w codetext.

FNC1 w pierwszej pozycji jest ustawiane w codetext jako "<FNC1>"

FNC1 w drugiej pozycji jest ustawiane w codetext jako "<FNC1(value)>". Wartość musi być pojedynczymi symbolami (a-z, A-Z) lub cyframi od 0 do 99.

Separator grupy dla trybów FNC1 jest ustawiany jako znak 0x1D '\\u001D'

Jeśli chcesz wstawić ciąg "<FNC1>" do kodu kreskowego, zapisz go jako "<\FNC1>"

Identyfikatory ECI są ustawiane jako pojedynczy ukośnik i identyfikator sześciocyfrowy "\000026" - identyfikator ECI UTF8

Aby wyłączyć bieżący tryb ECI i przełączyć się na domyślny tryb JIS8, ustawiany jest identyfikator ECI w trybie zerowym. "\000000"

Wszystkie znaki unicode po identyfikatorze ECI są automatycznie kodowane do poprawnego zestawu kodów znaków.

Ten tryb nie jest obsługiwany przez kody MicroQR.

ExtendedCodetext = 5

Rozszerzony tryb kanałowy, który obsługuje FNC1 w pierwszej pozycji, FNC1 w drugiej pozycji oraz wiele trybów ECI.

Lepszym rozwiązaniem jest użycie QrExtCodetextBuilder do generacji rozszerzonego codetextu.

Użyj właściwości Display2DText, aby ustawić widoczny tekst do usunięcia znaków zarządzających.

Zasady kodowania:

Wszystkie symbole "\" muszą być podwajane "\\" w codetext.

FNC1 w pierwszej pozycji jest ustawiane w codetext jako "<FNC1>"

FNC1 w drugiej pozycji jest ustawiane w codetext jako "<FNC1(value)>". Wartość musi być pojedynczymi symbolami (a-z, A-Z) lub cyframi od 0 do 99.

Separator grupy dla trybów FNC1 jest ustawiany jako znak 0x1D '\\u001D'

Jeśli chcesz wstawić ciąg "<FNC1>" do kodu kreskowego, zapisz go jako "<\FNC1>"

Identyfikatory ECI są ustawiane jako pojedynczy ukośnik i identyfikator sześciocyfrowy "\000026" - identyfikator ECI UTF8

Aby wyłączyć bieżący tryb ECI i przełączyć się na domyślny tryb JIS8, ustawiany jest identyfikator ECI w trybie zerowym. "\000000"

Wszystkie znaki unicode po identyfikatorze ECI są automatycznie kodowane do poprawnego zestawu kodów znaków.

Ten tryb nie jest obsługiwany przez kody MicroQR.

Utf16BEBOM = 3

Koduj codetext z kodowaniem UTF8 z pierwszym znakiem ByteOfMark. Mogą wystąpić problemy z niektórymi skanerami kodów kreskowych.

Utf8BOM = 2

Koduj codetext z kodowaniem UTF8 z pierwszym znakiem ByteOfMark.

Przykłady

Te przykłady pokazują, jak zakodować i zapisać kod QR z rozszerzonymi formatami danych.

csharp
//Ten przykład pokazuje, jak używać kodowania ECI i zapisać obraz kodu kreskowego.

[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

//Ten przykład pokazuje, jak używać FNC1 w pierwszej pozycji w trybie rozszerzonym.

//Rozszerzony tryb kanałowy, który obsługuje FNC1 w pierwszej pozycji, FNC1 w drugiej pozycji oraz wiele trybów ECI.
//Lepszym rozwiązaniem jest użycie QrExtCodetextBuilder do generacji rozszerzonego codetextu.
//Użyj właściwości Display2DText, aby ustawić widoczny tekst do usunięcia znaków zarządzających.
//Zasady kodowania:
//Wszystkie symbole "\" muszą być podwajane "\\" w codetext.
//FNC1 w pierwszej pozycji jest ustawiane w codetext jako "&lt;FNC1&gt;"
//FNC1 w drugiej pozycji jest ustawiane w codetext jako "&lt;FNC1(value)&gt;". Wartość musi być pojedynczymi symbolami (a-z, A-Z) lub cyframi od 0 do 99.
//Separator grupy dla trybów FNC1 jest ustawiany jako znak 0x1D '\\u001D'
//Jeśli chcesz wstawić ciąg "&lt;FNC1&gt;" do kodu kreskowego, zapisz go jako "&lt;\FNC1&gt;"
//Identyfikatory ECI są ustawiane jako pojedynczy ukośnik i identyfikator sześciocyfrowy "\000026" - identyfikator ECI UTF8
//Aby wyłączyć bieżący tryb ECI i przełączyć się na domyślny tryb JIS8, ustawiany jest identyfikator ECI w trybie zerowym. "\000000"
//Wszystkie znaki unicode po identyfikatorze ECI są automatycznie kodowane do poprawnego zestawu kodów znaków.

[C#]
//utwórz codetext
QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
textBuilder.AddFNC1FirstPosition();
textBuilder.AddPlainCodetext("000%89%%0");
textBuilder.AddFNC1GroupSeparator();
textBuilder.AddPlainCodetext("12345&lt;FNC1&gt;");
//generuj kod kreskowy
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 = "Mój tekst";
    generator.Save(@"d:\test.png");
}
'utwórz codetext
Dim textBuilder As New QrExtCodetextBuilder()
textBuilder.AddFNC1FirstPosition()
textBuilder.AddPlainCodetext("000%89%%0")
textBuilder.AddFNC1GroupSeparator()
textBuilder.AddPlainCodetext("12345&lt;FNC1&gt;")
'generuj kod kreskowy
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 = "Mój tekst"
    generator.Save("test.png")
End Using

//Ten przykład pokazuje, jak używać FNC1 w drugiej pozycji w trybie rozszerzonym.

[C#]
//utwórz codetext
QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
textBuilder.AddFNC1SecondPosition("12");
textBuilder.AddPlainCodetext("TRUE3456"); 
//generuj kod kreskowy
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 = "Mój tekst";
    generator.Save(@"d:\test.png");
}
'utwórz codetext
Dim textBuilder As New QrExtCodetextBuilder()
textBuilder.AddFNC1SecondPosition("12")
textBuilder.AddPlainCodetext("TRUE3456")
'generuj kod kreskowy
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 = "Mój tekst"
    generator.Save("test.png")
End Using

//Ten przykład pokazuje, jak używać trybu multi ECI w trybie rozszerzonym.

[C#]
//utwórz 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");   
//generuj kod kreskowy
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 = "Mój tekst";
    generator.Save(@"d:\test.png");
}
'utwórz 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") 
'generuj kod kreskowy
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 = "Mój tekst"
    generator.Save("test.png")
End Using
 Polski