Enum QREncodeMode
Namespace: Aspose.BarCode.Generation
Assembly: Aspose.BarCode.dll (25.1.0)
Chế độ mã hóa cho mã vạch QR.
public enum QREncodeMode
Các trường
Auto = 0
Trong chế độ Tự động, CodeText được mã hóa với độ nén dữ liệu tối đa. Các ký tự Unicode được mã hóa ở chế độ kanji nếu có thể, hoặc chúng được mã hóa lại trong mã hóa ECIEncoding được chỉ định với việc chèn một định danh ECI. Nếu phát hiện một ký tự không được hỗ trợ bởi mã hóa ECI đã chọn, một ngoại lệ sẽ được ném ra.
Binary = 7
Trong chế độ Nhị phân, CodeText được mã hóa với độ nén dữ liệu tối đa. Nếu phát hiện một ký tự Unicode, một ngoại lệ sẽ được ném ra.
Bytes = 1
Mã hóa codetext dưới dạng byte thuần. Nếu phát hiện bất kỳ ký tự Unicode nào, ký tự đó sẽ được mã hóa dưới dạng hai byte, byte thấp trước.
ECI = 8
Trong chế độ ECI, toàn bộ tin nhắn được mã hóa lại trong mã hóa ECIEncoding được chỉ định với việc chèn một định danh ECI. Nếu phát hiện một ký tự không được hỗ trợ bởi mã hóa ECI đã chọn, một ngoại lệ sẽ được ném ra. Xin lưu ý rằng một số máy quét cũ (trước 2006) có thể không hỗ trợ chế độ này. Chế độ này không được hỗ trợ bởi mã vạch MicroQR.
ECIEncoding = 4
Mã hóa codetext với giá trị được thiết lập trong thuộc tính ECIEncoding. Có thể gặp vấn đề với một số máy quét mã vạch cũ (trước 2006). Chế độ này không được hỗ trợ bởi mã vạch MicroQR.
Extended = 6
Chế độ Kênh Mở Rộng hỗ trợ vị trí đầu tiên FNC1, vị trí thứ hai FNC1 và nhiều chế độ ECI.
Tốt hơn là sử dụng QrExtCodetextBuilder để tạo codetext mở rộng.
Sử dụng thuộc tính Display2DText để thiết lập văn bản hiển thị để loại bỏ các ký tự quản lý.
Nguyên tắc Mã hóa:
Tất cả các ký hiệu "\" phải được nhân đôi "\\" trong codetext.
FNC1 ở vị trí đầu tiên được thiết lập trong codetext là "<FNC1>"
FNC1 ở vị trí thứ hai được thiết lập trong codetext là "<FNC1(value)>". Giá trị phải là các ký hiệu đơn (a-z, A-Z) hoặc chữ số từ 0 đến 99.
Dấu phân cách Nhóm cho các chế độ FNC1 được thiết lập là ký tự 0x1D '\\u001D'
Nếu bạn cần chèn chuỗi "<FNC1>" vào mã vạch, hãy viết nó là "<\FNC1>"
Các định danh ECI được thiết lập là dấu gạch chéo đơn và định danh sáu chữ số "\000026" - định danh ECI UTF8
Để vô hiệu hóa chế độ ECI hiện tại và chuyển đổi sang chế độ JIS8 mặc định, định danh ECI là không. "\000000"
Tất cả các ký tự unicode sau định danh ECI sẽ tự động được mã hóa thành mã ký tự chính xác.
Chế độ này không được hỗ trợ bởi mã vạch MicroQR.
ExtendedCodetext = 5
Chế độ Kênh Mở Rộng hỗ trợ vị trí đầu tiên FNC1, vị trí thứ hai FNC1 và nhiều chế độ ECI.
Tốt hơn là sử dụng QrExtCodetextBuilder để tạo codetext mở rộng.
Sử dụng thuộc tính Display2DText để thiết lập văn bản hiển thị để loại bỏ các ký tự quản lý.
Nguyên tắc Mã hóa:
Tất cả các ký hiệu "\" phải được nhân đôi "\\" trong codetext.
FNC1 ở vị trí đầu tiên được thiết lập trong codetext là "<FNC1>"
FNC1 ở vị trí thứ hai được thiết lập trong codetext là "<FNC1(value)>". Giá trị phải là các ký hiệu đơn (a-z, A-Z) hoặc chữ số từ 0 đến 99.
Dấu phân cách Nhóm cho các chế độ FNC1 được thiết lập là ký tự 0x1D '\\u001D'
Nếu bạn cần chèn chuỗi "<FNC1>" vào mã vạch, hãy viết nó là "<\FNC1>"
Các định danh ECI được thiết lập là dấu gạch chéo đơn và định danh sáu chữ số "\000026" - định danh ECI UTF8
Để vô hiệu hóa chế độ ECI hiện tại và chuyển đổi sang chế độ JIS8 mặc định, định danh ECI là không. "\000000"
Tất cả các ký tự unicode sau định danh ECI sẽ tự động được mã hóa thành mã ký tự chính xác.
Chế độ này không được hỗ trợ bởi mã vạch MicroQR.
Utf16BEBOM = 3
Mã hóa codetext với mã hóa UTF8 với ký tự ByteOfMark đầu tiên. Có thể gặp vấn đề với một số máy quét mã vạch.
Utf8BOM = 2
Mã hóa codetext với mã hóa UTF8 với ký tự ByteOfMark đầu tiên.
Ví dụ
Các mẫu này cho thấy cách mã hóa và lưu mã vạch QR với các định dạng dữ liệu mở rộng.
csharp
//Mẫu này cho thấy cách sử dụng mã hóa ECI và lưu hình ảnh BarCode.
[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
//Mẫu này cho thấy cách sử dụng vị trí FNC1 đầu tiên trong Chế độ Mở Rộng.
//Chế độ Kênh Mở Rộng hỗ trợ vị trí đầu tiên FNC1, vị trí thứ hai FNC1 và nhiều chế độ ECI.
//Tốt hơn là sử dụng QrExtCodetextBuilder để tạo codetext mở rộng.
//Sử dụng thuộc tính Display2DText để thiết lập văn bản hiển thị để loại bỏ các ký tự quản lý.
//Nguyên tắc Mã hóa:
//Tất cả các ký hiệu "\" phải được nhân đôi "\\" trong codetext.
//FNC1 ở vị trí đầu tiên được thiết lập trong codetext là "<FNC1>"
//FNC1 ở vị trí thứ hai được thiết lập trong codetext là "<FNC1(value)>". Giá trị phải là các ký hiệu đơn (a-z, A-Z) hoặc chữ số từ 0 đến 99.
//Dấu phân cách Nhóm cho các chế độ FNC1 được thiết lập là ký tự 0x1D '\\u001D'
//Nếu bạn cần chèn chuỗi "<FNC1>" vào mã vạch, hãy viết nó là "<\FNC1>"
//Các định danh ECI được thiết lập là dấu gạch chéo đơn và định danh sáu chữ số "\000026" - định danh ECI UTF8
//Để vô hiệu hóa chế độ ECI hiện tại và chuyển đổi sang chế độ JIS8 mặc định, định danh ECI là không. "\000000"
//Tất cả các ký tự unicode sau định danh ECI sẽ tự động được mã hóa thành mã ký tự chính xác.
[C#]
//tạo codetext
QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
textBuilder.AddFNC1FirstPosition();
textBuilder.AddPlainCodetext("000%89%%0");
textBuilder.AddFNC1GroupSeparator();
textBuilder.AddPlainCodetext("12345<FNC1>");
//tạo mã vạch
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");
}
' tạo codetext
Dim textBuilder As New QrExtCodetextBuilder()
textBuilder.AddFNC1FirstPosition()
textBuilder.AddPlainCodetext("000%89%%0")
textBuilder.AddFNC1GroupSeparator()
textBuilder.AddPlainCodetext("12345<FNC1>")
' tạo mã vạch
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
//Mẫu này cho thấy cách sử dụng vị trí FNC1 thứ hai trong Chế độ Mở Rộng.
[C#]
//tạo codetext
QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
textBuilder.AddFNC1SecondPosition("12");
textBuilder.AddPlainCodetext("TRUE3456");
//tạo mã vạch
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");
}
' tạo codetext
Dim textBuilder As New QrExtCodetextBuilder()
textBuilder.AddFNC1SecondPosition("12")
textBuilder.AddPlainCodetext("TRUE3456")
' tạo mã vạch
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
//Mẫu này cho thấy cách sử dụng chế độ ECI đa trong Chế độ Mở Rộng.
[C#]
//tạo 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");
//tạo mã vạch
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");
}
' tạo 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")
' tạo mã vạch
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