Class BarcodeSettings

Class BarcodeSettings

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

主要的条形码解码参数。包含影响识别数据的参数。

[XmlSerialization(Name = "Aspose.BarCode.Reader.Properties.BarcodeSettings")]
public sealed class BarcodeSettings

继承

objectBarcodeSettings

继承成员

object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

属性

AustraliaPost

获取 AustraliaPost 解码参数

[XmlSerialization(Type = XmlSerializationType.Element)]
public AustraliaPostSettings AustraliaPost { get; }

属性值

AustraliaPostSettings

ChecksumValidation

在识别 1D 和邮政条形码时启用校验和验证。

对于必须包含校验和的符号,默认值视为是,对于仅可能有校验和的符号视为否。

从不使用校验和:Codabar, PatchCode, Pharmacode, DataLogic2of5

可能使用校验和:Code39 Standard/Extended, Standard2of5, Interleaved2of5, ItalianPost25, Matrix2of5, MSI, ItalianPost25, DeutschePostIdentcode, DeutschePostLeitcode, VIN

始终使用校验和:其他符号

[XmlSerialization(Type = XmlSerializationType.Element)]
public ChecksumValidation ChecksumValidation { get; set; }

属性值

ChecksumValidation

示例

此示例展示了 ChecksumValidation 对识别质量和结果的影响

using (BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.EAN13, "1234567890128"))
{
    generator.Save(@"c:\test.png");
}
using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.EAN13))
{
    //校验和禁用
    reader.BarcodeSettings.ChecksumValidation = ChecksumValidation.Off;
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("条形码 CodeText: " + result.CodeText);
        Console.WriteLine("条形码 Value: " + result.Extended.OneD.Value);
        Console.WriteLine("条形码 Checksum: " + result.Extended.OneD.CheckSum);
    }
}
using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.EAN13))
{
    //校验和启用
    reader.BarcodeSettings.ChecksumValidation = ChecksumValidation.On;
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("条形码 CodeText: " + result.CodeText);
        Console.WriteLine("条形码 Value: " + result.Extended.OneD.Value);
        Console.WriteLine("条形码 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)
    '校验和禁用
    reader.BarcodeSettings.ChecksumValidation = ChecksumValidation.Off
    For Each result As BarCodeResult In reader.ReadBarCodes()
        Console.WriteLine("条形码 CodeText: " + result.CodeText)
        Console.WriteLine("条形码 Value: " + result.Extended.OneD.Value)
        Console.WriteLine("条形码 Checksum: " + result.Extended.OneD.CheckSum)
    Next
End Using
Using reader As New BarCodeReader("c:\test.png", DecodeType.EAN13)
    '校验和启用
    reader.BarcodeSettings.ChecksumValidation = ChecksumValidation.On
    For Each result As BarCodeResult In reader.ReadBarCodes()
        Console.WriteLine("条形码 CodeText: " + result.CodeText)
        Console.WriteLine("条形码 Value: " + result.Extended.OneD.Value)
        Console.WriteLine("条形码 Checksum: " + result.Extended.OneD.CheckSum);
    Next
End Using

DetectEncoding

强制引擎检测 Unicode 代码集的编码标志。默认值为 true。

[XmlSerialization(Type = XmlSerializationType.Element)]
public bool DetectEncoding { get; set; }

属性值

bool

示例

此示例展示了如何在启用 DetectEncoding 时动态检测文本编码

using (MemoryStream ms = new MemoryStream())
{
    using (BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR))
    {
        generator.SetCodeText("Слово", Encoding.UTF8);
        generator.Save(ms, BarCodeImageFormat.Png);
    }
    //检测 Unicode 代码集的编码已启用
    ms.Position = 0;
    using (BarCodeReader reader = new BarCodeReader(ms, DecodeType.QR))
    {
        reader.BarcodeSettings.DetectEncoding = true;
        foreach (BarCodeResult result in reader.ReadBarCodes())
            Console.WriteLine("条形码 CodeText: " + result.CodeText);
    }
    //检测编码已禁用
    ms.Position = 0;
    using (BarCodeReader reader = new BarCodeReader(ms, DecodeType.QR))
    {
        reader.BarcodeSettings.DetectEncoding = false;
        foreach (BarCodeResult result in reader.ReadBarCodes())
            Console.WriteLine("条形码 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
    '检测 Unicode 代码集的编码已启用
    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("条形码 CodeText: " + result.CodeText)
        Next
    End Using
    '检测编码已禁用
    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("条形码 CodeText: " + result.CodeText)
        Next
    End Using
End Using

StripFNC

从代码文本中去除 FNC1、FNC2、FNC3 字符。默认值为 false。

[XmlSerialization(Type = XmlSerializationType.Element)]
public bool StripFNC { get; set; }

属性值

bool

示例

此示例展示了如何去除 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 禁用
    reader.BarcodeSettings.StripFNC = false;
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("条形码 CodeText: " + result.CodeText);
    }
}
using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code128))
{
    //StripFNC 启用
    reader.BarcodeSettings.StripFNC = true;
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("条形码 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 禁用
    reader.BarcodeSettings.StripFNC = False
    For Each result As BarCodeResult In reader.ReadBarCodes()
        Console.WriteLine("条形码 CodeText: " + result.CodeText)
    Next
End Using
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code128)
    'StripFNC 启用
    reader.BarcodeSettings.StripFNC = True
    For Each result As BarCodeResult In reader.ReadBarCodes()
        Console.WriteLine("条形码 CodeText: " + result.CodeText)
    Next
End Using
 中文