Class BarcodeSettings
Namespace: Aspose.BarCode.BarCodeRecognition
Assembly: Aspose.BarCode.dll (25.2.0)
The main BarCode decoding parameters. Contains parameters which make influence on recognized data.
[XmlSerialization(Name = "Aspose.BarCode.Reader.Properties.BarcodeSettings")]
public sealed class BarcodeSettings
Inheritance
Inherited Members
object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Properties
AustraliaPost
Gets AustraliaPost decoding parameters
[XmlSerialization(Type = XmlSerializationType.Element)]
public AustraliaPostSettings AustraliaPost { get; }
Property Value
ChecksumValidation
Enable checksum validation during recognition for 1D and Postal barcodes.
Default is treated as Yes for symbologies which must contain checksum, as No where checksum only possible.
Checksum never used: Codabar, PatchCode, Pharmacode, DataLogic2of5
Checksum is possible: Code39 Standard/Extended, Standard2of5, Interleaved2of5, ItalianPost25, Matrix2of5, MSI, ItalianPost25, DeutschePostIdentcode, DeutschePostLeitcode, VIN
Checksum always used: Rest symbologies
[XmlSerialization(Type = XmlSerializationType.Element)]
public ChecksumValidation ChecksumValidation { get; set; }
Property Value
Examples
This sample shows influence of ChecksumValidation on recognition quality and results
using (BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.EAN13, "1234567890128"))
{
generator.Save(@"c:\test.png");
}
using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.EAN13))
{
//checksum disabled
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 enabled
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 disabled
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 enabled
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
The flag which force engine to detect codetext encoding for Unicode codesets. Default value is true.
[XmlSerialization(Type = XmlSerializationType.Element)]
public bool DetectEncoding { get; set; }
Property Value
Examples
This sample shows how to detect text encoding on the fly if DetectEncoding is enabled
using (MemoryStream ms = new MemoryStream())
{
using (BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR))
{
generator.SetCodeText("Слово", Encoding.UTF8);
generator.Save(ms, BarCodeImageFormat.Png);
}
//detects encoding for Unicode codesets is enabled
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);
}
//detect encoding is disabled
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
'detects encoding for Unicode codesets is enabled
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
'detect encoding is disabled
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
Strip FNC1, FNC2, FNC3 characters from codetext. Default value is false.
[XmlSerialization(Type = XmlSerializationType.Element)]
public bool StripFNC { get; set; }
Property Value
Examples
This sample shows how to strip FNC characters
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 disabled
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 enabled
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 disabled
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 enabled
reader.BarcodeSettings.StripFNC = True
For Each result As BarCodeResult In reader.ReadBarCodes()
Console.WriteLine("BarCode CodeText: " + result.CodeText)
Next
End Using