Class BarcodeSettings
Namespace: Aspose.BarCode.BarCodeRecognition
Assembly: Aspose.BarCode.dll (25.1.0)
Các tham số giải mã BarCode chính. Chứa các tham số ảnh hưởng đến dữ liệu đã nhận diện.
[XmlSerialization(Name = "Aspose.BarCode.Reader.Properties.BarcodeSettings")]
public sealed class BarcodeSettings
Kế thừa
Các thành viên kế thừa
object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Thuộc tính
AustraliaPost
Lấy các tham số giải mã AustraliaPost
[XmlSerialization(Type = XmlSerializationType.Element)]
public AustraliaPostSettings AustraliaPost { get; }
Giá trị thuộc tính
ChecksumValidation
Bật xác thực checksum trong quá trình nhận diện cho mã vạch 1D và mã bưu chính.
Mặc định được coi là Có đối với các ký hiệu phải chứa checksum, và Không đối với nơi chỉ có thể có checksum.
Checksum không bao giờ được sử dụng: Codabar, PatchCode, Pharmacode, DataLogic2of5
Checksum có thể: Code39 Standard/Extended, Standard2of5, Interleaved2of5, ItalianPost25, Matrix2of5, MSI, ItalianPost25, DeutschePostIdentcode, DeutschePostLeitcode, VIN
Checksum luôn được sử dụng: Các ký hiệu còn lại
[XmlSerialization(Type = XmlSerializationType.Element)]
public ChecksumValidation ChecksumValidation { get; set; }
Giá trị thuộc tính
Ví dụ
Mẫu này cho thấy ảnh hưởng của ChecksumValidation đến chất lượng và kết quả nhận diện
using (BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.EAN13, "1234567890128"))
{
generator.Save(@"c:\test.png");
}
using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.EAN13))
{
//checksum bị vô hiệu hóa
reader.BarcodeSettings.ChecksumValidation = ChecksumValidation.Off;
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine("BarCode CodeText: " + result.CodeText);
Console.WriteLine("BarCode Value: " + result.Extended.OneD.Value);
Console.WriteLine("BarCode Checksum: " + result.Extended.OneD.CheckSum);
}
}
using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.EAN13))
{
//checksum được bật
reader.BarcodeSettings.ChecksumValidation = ChecksumValidation.On;
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine("BarCode CodeText: " + result.CodeText);
Console.WriteLine("BarCode Value: " + result.Extended.OneD.Value);
Console.WriteLine("BarCode Checksum: " + result.Extended.OneD.CheckSum);
}
}
Using generator As New BarcodeGenerator(EncodeTypes.EAN13, "1234567890128")
generator.Save("c:\test.png")
End Using
Using reader As New BarCodeReader("c:\test.png", DecodeType.EAN13)
'checksum bị vô hiệu hóa
reader.BarcodeSettings.ChecksumValidation = ChecksumValidation.Off
For Each result As BarCodeResult In reader.ReadBarCodes()
Console.WriteLine("BarCode CodeText: " + result.CodeText)
Console.WriteLine("BarCode Value: " + result.Extended.OneD.Value)
Console.WriteLine("BarCode Checksum: " + result.Extended.OneD.CheckSum)
Next
End Using
Using reader As New BarCodeReader("c:\test.png", DecodeType.EAN13)
'checksum được bật
reader.BarcodeSettings.ChecksumValidation = ChecksumValidation.On
For Each result As BarCodeResult In reader.ReadBarCodes()
Console.WriteLine("BarCode CodeText: " + result.CodeText)
Console.WriteLine("BarCode Value: " + result.Extended.OneD.Value)
Console.WriteLine("BarCode Checksum: " + result.Extended.OneD.CheckSum);
Next
End Using
DetectEncoding
Cờ buộc engine phát hiện mã hóa codetext cho các bộ mã Unicode. Giá trị mặc định là true.
[XmlSerialization(Type = XmlSerializationType.Element)]
public bool DetectEncoding { get; set; }
Giá trị thuộc tính
Ví dụ
Mẫu này cho thấy cách phát hiện mã hóa văn bản ngay lập tức nếu DetectEncoding được bật
using (MemoryStream ms = new MemoryStream())
{
using (BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR))
{
generator.SetCodeText("Слово", Encoding.UTF8);
generator.Save(ms, BarCodeImageFormat.Png);
}
//phát hiện mã hóa cho các bộ mã Unicode được bật
ms.Position = 0;
using (BarCodeReader reader = new BarCodeReader(ms, DecodeType.QR))
{
reader.BarcodeSettings.DetectEncoding = true;
foreach (BarCodeResult result in reader.ReadBarCodes())
Console.WriteLine("BarCode CodeText: " + result.CodeText);
}
//phát hiện mã hóa bị tắt
ms.Position = 0;
using (BarCodeReader reader = new BarCodeReader(ms, DecodeType.QR))
{
reader.BarcodeSettings.DetectEncoding = false;
foreach (BarCodeResult result in reader.ReadBarCodes())
Console.WriteLine("BarCode CodeText: " + result.CodeText);
}
}
Using ms As New MemoryStream
Using generator As New BarcodeGenerator(EncodeTypes.QR, "Слово")
generator.SetCodeText("Слово", System.Text.Encoding.UTF8)
generator.Save(ms, BarCodeImageFormat.Png)
End Using
'phát hiện mã hóa cho các bộ mã Unicode được bật
ms.Position = 0
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code39, DecodeType.Code128)
reader.BarcodeSettings.DetectEncoding = True
For Each result As BarCodeResult In reader.ReadBarCodes()
Console.WriteLine("BarCode CodeText: " + result.CodeText)
Next
End Using
'phát hiện mã hóa bị tắt
ms.Position = 0
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code39, DecodeType.Code128)
reader.BarcodeSettings.DetectEncoding = False
For Each result As BarCodeResult In reader.ReadBarCodes()
Console.WriteLine("BarCode CodeText: " + result.CodeText)
Next
End Using
End Using
StripFNC
Loại bỏ các ký tự FNC1, FNC2, FNC3 khỏi codetext. Giá trị mặc định là false.
[XmlSerialization(Type = XmlSerializationType.Element)]
public bool StripFNC { get; set; }
Giá trị thuộc tính
Ví dụ
Mẫu này cho thấy cách loại bỏ các ký tự FNC
using (BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.GS1Code128, "(02)04006664241007(37)1(400)7019590754"))
{
generator.Save(@"c:\test.png");
}
using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code128))
{
//StripFNC bị vô hiệu hóa
reader.BarcodeSettings.StripFNC = false;
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine("BarCode CodeText: " + result.CodeText);
}
}
using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code128))
{
//StripFNC được bật
reader.BarcodeSettings.StripFNC = true;
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine("BarCode CodeText: " + result.CodeText);
}
}
Using generator As New BarcodeGenerator(EncodeTypes.GS1Code128, "(02)04006664241007(37)1(400)7019590754")
generator.Save("c:\test.png")
End Using
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code128)
'StripFNC bị vô hiệu hóa
reader.BarcodeSettings.StripFNC = False
For Each result As BarCodeResult In reader.ReadBarCodes()
Console.WriteLine("BarCode CodeText: " + result.CodeText)
Next
End Using
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code128)
'StripFNC được bật
reader.BarcodeSettings.StripFNC = True
For Each result As BarCodeResult In reader.ReadBarCodes()
Console.WriteLine("BarCode CodeText: " + result.CodeText)
Next
End Using