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("바코드 코드텍스트: " + result.CodeText);
        Console.WriteLine("바코드 값: " + result.Extended.OneD.Value);
        Console.WriteLine("바코드 체크섬: " + 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("바코드 코드텍스트: " + result.CodeText);
        Console.WriteLine("바코드 값: " + result.Extended.OneD.Value);
        Console.WriteLine("바코드 체크섬: " + 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("바코드 코드텍스트: " + result.CodeText)
        Console.WriteLine("바코드 값: " + result.Extended.OneD.Value)
        Console.WriteLine("바코드 체크섬: " + 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("바코드 코드텍스트: " + result.CodeText)
        Console.WriteLine("바코드 값: " + result.Extended.OneD.Value)
        Console.WriteLine("바코드 체크섬: " + result.Extended.OneD.CheckSum)
    Next
End Using

DetectEncoding

유니코드 코드 세트에 대한 코드 텍스트 인코딩을 감지하도록 엔진을 강제하는 플래그입니다. 기본값은 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);
    }
    //유니코드 코드 세트에 대한 인코딩 감지가 활성화됨
    ms.Position = 0;
    using (BarCodeReader reader = new BarCodeReader(ms, DecodeType.QR))
    {
        reader.BarcodeSettings.DetectEncoding = true;
        foreach (BarCodeResult result in reader.ReadBarCodes())
            Console.WriteLine("바코드 코드텍스트: " + 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("바코드 코드텍스트: " + 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
    '유니코드 코드 세트에 대한 인코딩 감지가 활성화됨
    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("바코드 코드텍스트: " + 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("바코드 코드텍스트: " + 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("바코드 코드텍스트: " + 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("바코드 코드텍스트: " + 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("바코드 코드텍스트: " + 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("바코드 코드텍스트: " + result.CodeText)
    Next
End Using
 한국어