Barkod Çekirdeklerini Doğrulama ve Biçim Bilinçli Okuma Nasıl Yapılır C
Barkod çekirdekleri, yer değiştirme hatalarını tespit etmeye yardımcı olur. Örneğin, EAN-13 etiketindeki tek bir yer değiştirmiş rakam paketi yanlış bir depoya gönderebilir. Biçim farkındalıklı okuma, kod çözücüyü beklenen sembolojiyle sınırlandırarak ek bir doğrulama katmanı sağlar. Bu yaklaşım, arka plan gürültüsünden kaynaklanan yanlış pozitifleri azaltır ve gereksiz format dedektörlerini atlayarak tarama süresini kısaltır.
IronBarcode, çözümleme sırasında otomatik olarak çekirdek doğrulaması gerçekleştirir. Her sembolojinin kontrol basamak algoritması varsayılan olarak çalışır ve başarısız olan barkodlar sonuçlar döndürülmeden önce elenir. Bu özellikler, okumayı belirli formatlarla sınırlar; RemoveFalsePositive ise belirsiz okumalar için ikincil bir tarama ekler.
Bu kılavuz, barkod kontrol toplamını doğrulamanın, okumayı beklenen formatlarla sınırlamanın ve her iki tekniği de BarcodeReaderOptions kullanarak katmanlı bir kalite kapısı haline getirme yöntemlerini açıklar.
Hızlı Başlangıç: Çekirdek ve Format Kısıtlamaları ile Barkodları Doğrulayın
Okumaları otomatik kontrol toplamı doğrulamasıyla beklenen semboloji ile sınırlamak için BarcodeReaderOptions'u ExpectBarcodeTypes ve RemoveFalsePositive ile ayarlayın.
:path=/static-assets/barcode/content-code-examples/how-to/checksum-and-format-validation/quickstart.cs
using IronBarCode;
// Format-constrained read with false-positive removal.
// Limit the decoder to EAN-13 and Code128; checksums are
// validated automatically and failures are silently discarded.
var options = new BarcodeReaderOptions
{
ExpectBarcodeTypes = BarcodeEncoding.EAN13 | BarcodeEncoding.Code128,
RemoveFalsePositive = true,
Speed = ReadingSpeed.Balanced
};
BarcodeResults results = BarcodeReader.Read("label.png", options);
Imports IronBarCode
' Format-constrained read with false-positive removal.
' Limit the decoder to EAN-13 and Code128; checksums are
' validated automatically and failures are silently discarded.
Dim options As New BarcodeReaderOptions With {
.ExpectBarcodeTypes = BarcodeEncoding.EAN13 Or BarcodeEncoding.Code128,
.RemoveFalsePositive = True,
.Speed = ReadingSpeed.Balanced
}
Dim results As BarcodeResults = BarcodeReader.Read("label.png", options)
Minimal İş Akışı (5 Adımda)
- IronBarcode kütüphanesini NuGet'ten indirin
BarcodeReaderOptionsörneği oluşturun- Pipeline'da mevcut sembolojilere
ExpectBarcodeTypesayarlayın - İkincil doğrulama için
RemoveFalsePositiveetkinleştirin - Çözümlemek için
BarcodeReader.Readçağırın, çekirdek doğrulamaları çözümleme sırasında otomatik olarak yapılır
Barkod Çekirdekleri Nasıl Doğrulanır?
IronBarcode, her sembolojinin spesifikasyonuna göre çözümleme sırasında çekirdekleri doğrular. Örneğin, EAN-13 barkodunu okurken, Mod10 kontrol basamağı ilk 12 rakamdan hesaplanır ve 13. rakamla karşılaştırılır. Rakamlar eşleşmiyorsa, barkod sessizce reddedilir ve BarcodeResults koleksiyonunda görünmez. Bu yaklaşım, UPC-A, UPC-E, EAN-8, Code128, ITF ve diğerleri gibi zorunlu kontrol basamak olan tüm formatlara uygulanır.
Bu örtülü model, açık bir anahtar sunan kütüphanelerden farklıdır. Aşağıdaki tablo iki yaklaşımı karşılaştırır:
| Aspekt | IronBarcode | Aspose.BarCode |
|---|---|---|
| Doğrulama tetikleyicisi | Otomatik; her çözümleme sırasında çalışır | Belirgin: Kontrol ToplamıValidation.On / Off / Default |
| Geliştirici eylemi gerekli | Yok; geçersiz barkodlar sonuçlardan hariç tutulur | Okuma öncesinde BarcodeSettings.Kontrol ToplamıValidation ayarlayın |
| Çekirdek devre dışı bırakma | Göz önünde değil; kontrol basamakları zorunlu formatlar için her zaman uygulanır | Evet; Kontrol ToplamıValidation.Off doğrulamayı atlar |
| İsteğe bağlı çekirdek formatlar (Code39) | Confidence + RemoveFalsePositive kullanarak düşük kaliteli okumaları filtreler | EnableKontrol Toplamı.Evet ile açıkça etkinleştirin |
| Başarısızlık davranışı | Barkod sessizce sonuçlardan hariç tutulur | Barkod manuel inceleme için ayrı bir çekirdek değeriyle görünebilir |
Code39 gibi isteğe bağlı kontrol toplamına sahip sembolojiler için kütüphane, kontrol toplamı açma/kapama seçeneği yerine güven skoru ve RemoveFalsePositive kullanır.
Girdi
Bir Code128 depo raf etiketi (başarı yolu) ve barkod içermeyen boş bir görüntü (başarısızlık yolu).
warehouse-rack.png (başarı yolu)
blank-no-barcode.png (başarısızlık yolu — barkod yok)
:path=/static-assets/barcode/content-code-examples/how-to/checksum-and-format-validation/checksum-confidence.cs
using IronBarCode;
// Constrain reads to 1D formats and enable secondary verification.
// ConfidenceThreshold rejects decodes where the ML detector falls below 85%,
// acting as a quality gate for optional-checksum symbologies like Code39.
var options = new BarcodeReaderOptions
{
ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
RemoveFalsePositive = true,
ConfidenceThreshold = 0.85,
Speed = ReadingSpeed.Detailed
};
BarcodeResults results = BarcodeReader.Read("warehouse-rack.png", options);
foreach (BarcodeResult result in results)
{
// Each result has passed checksum validation (mandatory formats)
// and the 85% confidence threshold, so no additional filtering is needed.
Console.WriteLine($"[{result.BarcodeType}] {result.Value} page={result.PageNumber}");
}
if (results.Count == 0)
{
Console.Error.WriteLine("No valid barcodes found. Possible causes:");
Console.Error.WriteLine(" - Check digit mismatch (barcode silently rejected)");
Console.Error.WriteLine(" - Confidence below 85% threshold");
Console.Error.WriteLine(" - Format not in ExpectBarcodeTypes");
}
Imports IronBarCode
' Constrain reads to 1D formats and enable secondary verification.
' ConfidenceThreshold rejects decodes where the ML detector falls below 85%,
' acting as a quality gate for optional-checksum symbologies like Code39.
Dim options As New BarcodeReaderOptions With {
.ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
.RemoveFalsePositive = True,
.ConfidenceThreshold = 0.85,
.Speed = ReadingSpeed.Detailed
}
Dim results As BarcodeResults = BarcodeReader.Read("warehouse-rack.png", options)
For Each result As BarcodeResult In results
' Each result has passed checksum validation (mandatory formats)
' and the 85% confidence threshold, so no additional filtering is needed.
Console.WriteLine($"[{result.BarcodeType}] {result.Value} page={result.PageNumber}")
Next
If results.Count = 0 Then
Console.Error.WriteLine("No valid barcodes found. Possible causes:")
Console.Error.WriteLine(" - Check digit mismatch (barcode silently rejected)")
Console.Error.WriteLine(" - Confidence below 85% threshold")
Console.Error.WriteLine(" - Format not in ExpectBarcodeTypes")
End If
Çıktı
Başarı Yolu
Depo raf barkodu, sayfa 0'da RACK-A1-LOT-7382 olarak çözümlendi. %85 güven sınırını geçti ve kontrol toplamı doğrulamasından geçti; bu nedenle BarcodeResults içinde görünüyor.
Başarısızlık Yolu
ConfidenceThreshold'u varsayılan değeri olan 0.7'nin üzerine artırmak, Code39 gibi isteğe bağlı kontrol toplamına sahip sembolojiler için bu kapıyı daha da sıkılaştırır.
Kontrol toplamı doğrulaması kapsandığında, bir sonraki adım, okuyucuyu veri hattınızın beklediği barkod formatlarıyla sınırlamaktır.
Format Farkındalıklı Barkod Okuma Nasıl Kullanılır?
BarcodeEncoding enumu bayrak türündedir; bitwise OR operatörünü kullanarak birden fazla formatı birleştirmeye izin verir. ExpectBarcodeTypes ayarlandığında okuma bu formatlarla sınırlanır ve diğerleri tespit edilmez.
| Değer | Kategori | Açıklama | Kontrol Toplamı |
|---|---|---|---|
BarcodeEncoding.All | Meta | Desteklenen tüm formatlar (varsayılan davranış) | Format başına |
BarcodeEncoding.AllOneDimensional | Meta | Yığılmış dahil tüm lineer (1D) formatlar | Format başına |
BarcodeEncoding.AllTwoDimensional | Meta | Tüm matris/ızgara (2D) formatları | Format başına |
BarcodeEncoding.Code128 | 1D | Yüksek yoğunluklu alfanümerik (lojistik, nakliye) | Zorunlu (ağırlıklı Mod103) |
BarcodeEncoding.EAN13 | 1D | Perakende ürün tanımlaması, 13 basamak | Zorunlu (Mod10) |
BarcodeEncoding.QRCode | 2D | Yüksek kapasiteli matris (URL'ler, yapılandırılmış veriler) | Reed-Solomon Hata Düzeltmesi |
BarcodeEncoding.Code39 | 1D | Alfanümerik (savunma, otomotiv) | İsteğe bağlı (Mod43) |
BarcodeEncoding.UPCA | 1D | Kuzey Amerika mağaza, 12 basamak | Zorunlu (Mod10) |
BarcodeEncoding.DataMatrix | 2D | Kompakt matris (elektronik, farmasötik) | Reed-Solomon Hata Düzeltmesi |
BarcodeEncoding.PDF417 | 2D | Yığılmış (kimlik kartları, ulaşım) | Reed-Solomon Hata Düzeltmesi |
Hızın ötesinde, format setini sınırlamak bir doğrulama kapısı gibi işlev görür: resimde fiziksel olarak bulunsa bile listelenmemiş herhangi bir simgecilik barkodu sonuçlardan çıkarılır.
Girdi
Code128 nakliye etiketi (başarı yolu) ve Code128-sadece kısıtlamasını karşılamayan bir QR kodu (başarısızlık yolu).
shipping-label.png (başarı yolu — Code128 kısıtlamasını karşılıyor)
qr-format-mismatch.png (başarısızlık yolu — QR Code128-sadece filtre tarafından reddedildi)
:path=/static-assets/barcode/content-code-examples/how-to/checksum-and-format-validation/format-constrained.cs
using IronBarCode;
// Constrained read: only Code128 barcodes are returned.
// Faster because the reader skips all other format detectors.
var constrainedOptions = new BarcodeReaderOptions
{
ExpectBarcodeTypes = BarcodeEncoding.Code128,
Speed = ReadingSpeed.Faster,
ExpectMultipleBarcodes = false
};
// Broad read: all supported formats are scanned.
// Useful for verification or when the image format is unknown.
var broadOptions = new BarcodeReaderOptions
{
ExpectBarcodeTypes = BarcodeEncoding.All,
Speed = ReadingSpeed.Detailed,
ExpectMultipleBarcodes = true
};
string imagePath = "shipping-label.png";
BarcodeResults constrained = BarcodeReader.Read(imagePath, constrainedOptions);
Console.WriteLine($"Constrained: {constrained.Count} Code128 barcode(s) found");
BarcodeResults broad = BarcodeReader.Read(imagePath, broadOptions);
Console.WriteLine($"Broad: {broad.Count} barcode(s) found across all formats");
foreach (BarcodeResult result in broad)
{
Console.WriteLine($" [{result.BarcodeType}] {result.Value}");
}
Imports IronBarCode
' Constrained read: only Code128 barcodes are returned.
' Faster because the reader skips all other format detectors.
Dim constrainedOptions As New BarcodeReaderOptions With {
.ExpectBarcodeTypes = BarcodeEncoding.Code128,
.Speed = ReadingSpeed.Faster,
.ExpectMultipleBarcodes = False
}
' Broad read: all supported formats are scanned.
' Useful for verification or when the image format is unknown.
Dim broadOptions As New BarcodeReaderOptions With {
.ExpectBarcodeTypes = BarcodeEncoding.All,
.Speed = ReadingSpeed.Detailed,
.ExpectMultipleBarcodes = True
}
Dim imagePath As String = "shipping-label.png"
Dim constrained As BarcodeResults = BarcodeReader.Read(imagePath, constrainedOptions)
Console.WriteLine($"Constrained: {constrained.Count} Code128 barcode(s) found")
Dim broad As BarcodeResults = BarcodeReader.Read(imagePath, broadOptions)
Console.WriteLine($"Broad: {broad.Count} barcode(s) found across all formats")
For Each result As BarcodeResult In broad
Console.WriteLine($" [{result.BarcodeType}] {result.Value}")
Next
Çıktı
Başarı Yolu
Gönderi etiketi @@--CODE-286--@@ değerine sahiptir. Kısıtlanmış okuma bunu hemen alır; çünkü Code128, filtrenin beklediği formattır ve geniş okuma tüm formatlarda aynı sonucu teyit eder.
Başarısızlık Yolu
Kısıtlanmış okumadan gelen boş sonuçlar bir doğrulama sinyali olup, hata değildir; çelişkiyi inceleme için kaydedin.
Barkod türlerini karıştıran veri hatları için (örneğin, hem EAN-13 ürün kodu hem de Code128 takip numarasına sahip bir ambalaj kaydı), beklenen formatları birleştirin:
:path=/static-assets/barcode/content-code-examples/how-to/checksum-and-format-validation/multi-format-combine.cs
using IronBarCode;
// Combine multiple format flags with | to scan for more than one symbology
// in a single pass. Each BarcodeResult.BarcodeType identifies which format
// was decoded, enabling downstream routing logic per symbology.
var options = new BarcodeReaderOptions
{
ExpectBarcodeTypes = BarcodeEncoding.EAN13 | BarcodeEncoding.Code128,
ExpectMultipleBarcodes = true
};
Imports IronBarCode
' Combine multiple format flags with Or to scan for more than one symbology
' in a single pass. Each BarcodeResult.BarcodeType identifies which format
' was decoded, enabling downstream routing logic per symbology.
Dim options As New BarcodeReaderOptions With {
.ExpectBarcodeTypes = BarcodeEncoding.EAN13 Or BarcodeEncoding.Code128,
.ExpectMultipleBarcodes = True
}
Her dönen BarcodeResult.BarcodeType, hangi formatın çözümlenebildiğini belirler; bu da aşağı yönlendirme yapılmasına olanak tanır.
Hangi Sembolojiler Kontrol Toplamı Doğrulamasını Destekler?
Tüm barkod formatları kontrol toplamlarını aynı şekilde kullanmaz. Aşağıdaki tablo, yaygın semboloji hata tespit özelliklerini gösterir ve her format için ConfidenceThreshold ile RemoveFalsePositive'i ne kadar agresif ayarlayacağınıza yol gösterir:
| Simge | Kontrol Toplamı Türü | Zorunlu mu? | Öneri |
|---|---|---|---|
| EAN-13 / EAN-8 | Mod10 | Evet | Varsayılan ayarlar yeterlidir; kontrol toplamı her zaman zorlanır |
| UPC-A / UPC-E | Mod10 | Evet | Varsayılan ayarlar yeterlidir; yazarken kontrol basamağı otomatik olarak düzeltilir |
| Code128 | Ağırlıklı Mod103 | Evet | Varsayılan ayarlar yeterlidir; belirliğe göre zorunludur |
| Code39 | Mod43 | İsteğe bağlı | ConfidenceThreshold'u 0.8+ seviyesine yükseltin ve RemoveFalsePositive'i etkinleştirin |
| Codabar | Mod16 | İsteğe bağlı | Code39 ile aynı; kalite kapısı olarak güveni kullanın |
| ITF | Mod10 | İsteğe bağlı | Aralıklı formatlar için RemoveFalsePositive'i etkinleştirin |
| QRCode / DataMatrix | Reed-Solomon Hata Düzeltmesi | Her zaman | Yapısal hata düzeltme; ek yapılandırma gerekli değil |
| PDF417 | Reed-Solomon Hata Düzeltmesi | Her zaman | QR/DataMatrix ile aynı; hata düzeltme içselleştirilmiştir |
QR, DataMatrix ve PDF417 gibi 2D sembolojiler için hata düzeltme, kodlama yapısına entegredir. Bu formatlar, basit bir kontrol basamağına bağlı kalmaksızın kısmi hasardan kurtulabilir. ML tespit aşamasında ConfidenceThreshold hâlâ geçerliyken, çözümleme adımı semboloji için yerleşik fazlalıktan faydalanır.
Artık her iki teknik de anlaşıldı, bunları tek bir üretime hazır doğrulama düzeninde birleştirelim.
Kontrol Toplamlarını Format Kısıtlamalarıyla Nasıl Birleştiririz?
Üretime hazır model, tek bir BarcodeReaderOptions nesnesi içinde ExpectBarcodeTypes, RemoveFalsePositive, ConfidenceThreshold ve Speed'i ayarlar. Birlikte katmanlı bir kapı oluştururlar: format kısıtlamaları arama alanını daraltır, kontrol toplamı doğrulaması veri bütünlüğünü sağlar, güven eşiği marjinal çözümlemeleri filtreler ve yanlış pozitifleri kaldırma ikincil bir doğrulama geçişi ekler.
Girdi
pos-scans/ dizininden üç POS tarama barkodu başarı yolları olarak kullanılıyor: iki EAN-13 ve bir UPC-A. Başarısızlık yolu olarak bir Code128 depo raf etiketi kullanılıyor — EAN-13/UPC-A kısıtlaması bunu reddeder ve REJECT satırını günlüğe kaydeder.
pos-scan-1.png (başarı)
pos-scan-2.png (başarı)
pos-scan-3.png (başarı)
warehouse-rack.png (başarısızlık — Code128 reddedildi)
:path=/static-assets/barcode/content-code-examples/how-to/checksum-and-format-validation/combined-validation.cs
using IronBarCode;
// Layered validation for retail POS: EAN-13, UPC-A, and UPC-E only.
// Each property adds a distinct filter to the read pipeline.
var options = new BarcodeReaderOptions
{
// Layer 1: format constraint, accept only retail symbologies
ExpectBarcodeTypes = BarcodeEncoding.EAN13 | BarcodeEncoding.UPCA | BarcodeEncoding.UPCE,
// Layer 2: confidence threshold, reject decodes below 80%
ConfidenceThreshold = 0.8,
// Layer 3: false-positive removal, runs a secondary verification pass
RemoveFalsePositive = true,
Speed = ReadingSpeed.Balanced,
ExpectMultipleBarcodes = false,
// Require 3 agreeing scan lines to reduce phantom reads from noisy images
MinScanLines = 3
};
string[] scanFiles = Directory.GetFiles("pos-scans/", "*.png");
foreach (string file in scanFiles)
{
BarcodeResults results = BarcodeReader.Read(file, options);
if (results.Count == 0)
{
// No barcode passed all validation layers
Console.Error.WriteLine($"REJECT {Path.GetFileName(file)}: "
+ "no valid EAN-13/UPC barcode (checksum, confidence, or format mismatch)");
continue;
}
BarcodeResult primary = results.First();
// Post-read assertion: verify the decoded format matches expectations.
// ExpectBarcodeTypes already constrains the reader; this check documents
// intent and surfaces unexpected results during future changes.
if (primary.BarcodeType != BarcodeEncoding.EAN13
&& primary.BarcodeType != BarcodeEncoding.UPCA
&& primary.BarcodeType != BarcodeEncoding.UPCE)
{
Console.Error.WriteLine($"UNEXPECTED FORMAT {Path.GetFileName(file)}: "
+ $"got {primary.BarcodeType}, expected EAN-13/UPC");
continue;
}
Console.WriteLine($"OK {Path.GetFileName(file)}: [{primary.BarcodeType}] {primary.Value}");
}
Imports IronBarCode
Imports System.IO
' Layered validation for retail POS: EAN-13, UPC-A, and UPC-E only.
' Each property adds a distinct filter to the read pipeline.
Dim options As New BarcodeReaderOptions With {
' Layer 1: format constraint, accept only retail symbologies
.ExpectBarcodeTypes = BarcodeEncoding.EAN13 Or BarcodeEncoding.UPCA Or BarcodeEncoding.UPCE,
' Layer 2: confidence threshold, reject decodes below 80%
.ConfidenceThreshold = 0.8,
' Layer 3: false-positive removal, runs a secondary verification pass
.RemoveFalsePositive = True,
.Speed = ReadingSpeed.Balanced,
.ExpectMultipleBarcodes = False,
' Require 3 agreeing scan lines to reduce phantom reads from noisy images
.MinScanLines = 3
}
Dim scanFiles As String() = Directory.GetFiles("pos-scans/", "*.png")
For Each file As String In scanFiles
Dim results As BarcodeResults = BarcodeReader.Read(file, options)
If results.Count = 0 Then
' No barcode passed all validation layers
Console.Error.WriteLine($"REJECT {Path.GetFileName(file)}: " &
"no valid EAN-13/UPC barcode (checksum, confidence, or format mismatch)")
Continue For
End If
Dim primary As BarcodeResult = results.First()
' Post-read assertion: verify the decoded format matches expectations.
' ExpectBarcodeTypes already constrains the reader; this check documents
' intent and surfaces unexpected results during future changes.
If primary.BarcodeType <> BarcodeEncoding.EAN13 AndAlso
primary.BarcodeType <> BarcodeEncoding.UPCA AndAlso
primary.BarcodeType <> BarcodeEncoding.UPCE Then
Console.Error.WriteLine($"UNEXPECTED FORMAT {Path.GetFileName(file)}: " &
$"got {primary.BarcodeType}, expected EAN-13/UPC")
Continue For
End If
Console.WriteLine($"OK {Path.GetFileName(file)}: [{primary.BarcodeType}] {primary.Value}")
Next
Çıktı
Başarı Yolu
Üç POS tarayıcı görüntüsünün tümü geçti. Çözümleyici @@--CODE-298--@@, 4006381333931 ve 012345678905 değerlerini döndürdü. Her biri EAN13|UPCA|UPCE filtresini karşıladı, geçerli bir Mod10 sağlama toplamına sahipti ve güven oranı 0.8'in üzerindeydi.
Başarısızlık Yolu
MinScanLines'u 3'e ayarlamak, bir 1D barkodunun geçerli olması için gereken en az sayıda uyumlu tarama hattı sayısını artırır; varsayılan 2'dir. Bu değeri yükseltmek, gürültülü tarama hatlarından gelen hayalet okuma riskini azaltır ancak ince veya kısmen hasarlı barkodların kaçırılmasına neden olabilir. Temiz basılmış etiketlere sahip perakende POS ortamlarında, 3 değeri performansı etkilemeden doğrulamayı güçlendiren muhafazakar bir seçimdir.
Okuma sonrası BarcodeType doğrulaması kaba bir savunmadır: ExpectBarcodeTypes zaten filtreler, ancak açık diğer kontrol, niyeti belgeler ve çalışma zamanı maliyeti olmadan yapılandırma kaymasını yakalar. Hız ayarlaması için, ReadingSpeed.Faster temiz makineye yazılmış etiketler için uygun bir seçenektir; Detailed ve ExtremeDetail hasar görmüş veya kötü aydınlatılmış barkodları kurtarır, ancak daha uzun tarama süresi pahasına.
Sonraki Adımlarım Neler?
Bu makale, IronBarcode'un bağımsız sağlama toplamı doğrulama modelini, format sınırlı okumalar için BarcodeEncoding bayrak enumunu ve ExpectBarcodeTypes, ConfidenceThreshold, RemoveFalsePositive ve MinScanLines'ı katmanlı kalite kapıları olarak kullanan kombine doğrulama desenini ele aldı.
Daha fazla okumak için, şu kaynakları keşfedin:
- IronBarcode Öğreticileri — Barkod Okuma uçtan uca okumalar için rehberler.
RemoveFalsePositivemekanizması için ayrıntılı Yanlış Pozitif Önleme.- Güven Eşiği Örnekleri için ML tabanlı algılama ayarlamaları.
BarcodeResultözellik referansı için Çıktı Veri Formatları.- Görüntü Düzeltmesi Nasıl Yapılır ile decode doğruluğunu artıran filtreler.
- BarcodeReaderOptions API Referansı için eksiksiz yapılandırma belgeleri.
- BarcodeEncoding API Referansı için desteklenen tüm sembolojilerin listesi.
Canlı ortamda tüm özellikleri test etmek için ücretsiz deneme lisansı alın veya lisanslama seçeneklerine göz atın hattınız üretim için hazır olduğunda.
Sıkça Sorulan Sorular
Barkod kontrol toplamı doğrulaması nedir?
Barkod kontrol toplamı doğrulaması, tarama sürecindeki hataları tespit etmeye yardımcı olarak, hesaplanan kontrol toplamını barkodun içinde kodlanmış değerle karşılaştırıp doğruluk sağlamak için bir süreçtir.
IronBarcode kontrol toplamı doğrulamayı nasıl ele alır?
IronBarcode, tarama sürecinde veri bütünlüğünü sağlamak için barkod verileri için kontrol toplamını hesaplayarak ve kodlanmış kontrol toplamına karşı doğrulama yaparak kontrol toplamı doğrulamasını dolaylı olarak ele alır.
BarcodeEncoding filtreleri nelerdir?
IronBarcode'daki BarcodeEncoding filtreleri, tarama sırasında hangi barkod formatlarını okuma veya görmezden gelme istediğini belirtmenize olanak sağlar, belirli barkod türlerine odaklanarak barkod işlemlerinin doğruluğunu ve verimliliğini artırır.
IronBarcode birleşik doğrulama gerçekleştirebilir mi?
Evet, IronBarcode, tarama işlemi sırasında barkodların hem kontrol toplamını hem de formatını kontrol ederek birleşik doğrulama gerçekleştirebilir, böylece yalnızca geçerli ve düzgün formatlanmış barkodların işlenmesini sağlar.
IronBarcode ile C# dilinde formatına göre barkod okuma kısıtlaması uygulamak mümkün mü?
Evet, IronBarcode, işlem yapmak istediğiniz veya istemediğiniz formatları belirterek barkod okumasını kısıtlama olanağı sağlar, böylece uygulamanızın yalnızca ilgili barkod türlerini işlemesini sağlar.
Barkod işleminde format bilincine sahip okuma neden önemlidir?
Format bilincine sahip okuma önemlidir çünkü uygulamanızın yalnızca belirli barkod türlerini işlemesini sağlar, ilgisiz veya desteklenmeyen barkod formatlarını görmezden gelerek hızı ve doğruluğu artırır.
IronBarcode'da format bilincine sahip okumayı nasıl uygularım?
IronBarcode'da format bilincine sahip okumayı uygulamak için, okumak istediğiniz barkod formatlarını belirtmek üzere BarcodeEncoding filtrelerini kullanın. Bu, kütüphanenin API'si aracılığıyla yapılabilir ve barkod tarama gereksinimlerinizi hassas bir şekilde kontrol etmenizi sağlar.
Barkod doğrulama için IronBarcode kullanmanın faydaları nelerdir?
IronBarcode, sağlam kontrol toplamı doğrulaması, format bilincine sahip okuma ve geniş bir barkod standartlarını ele alma yeteneği gibi birkaç fayda sunar, bu da barkod işlemlerinde yüksek doğruluk ve esneklik sağlar.

