C#'da OCR Hata Ayıklama Nasıl Yapılır
IronOCR, OCR hatalarını kaynağında tespit etmenizi, tanıma kalitesini kelime ve karakter seviyesinde değerlendirmenizi ve uzun süreli işleri gerçek zamanlı olarak izlemenizi sağlar. Tanılama dosyası kaydı, türlendirilmiş istisna hiyerarşisi, sonuç başına güven skoru ve OcrProgress olayı gibi yerleşik araçlar bu iş akışlarını üretim hatlarında destekler.
Bu kılavuz, her biri için çalışan örnekleri sunar: tanılama kaydını etkinleştirme, türlendirilmiş istisnaları yönetme, güven skorlarıyla çıktıyı doğrulama, işleri gerçek zamanlı takip etme ve yığın hatlarına hataları izole etme.
Hızlı Başlangıç: Tam OCR tanılama kaydını etkinleştirin
İlk Read çağrısından önce LogFilePath ve LoggingMod ayarlayın. Tesseract başlatma, dil paketi yükleme ve işleme detaylarını bir günlük dosyasına yakalamak için iki özellik yeterlidir.
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronOcr yükleyin
PM > Install-Package IronOcr -
Bu kod parçasını kopyalayıp çalıştırın.
IronOcr.Installation.LogFilePath = "ocr.log"; IronOcr.Installation.LoggingMod = IronOcr.Installation.LoggingMods.All; -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronOCR kullanmaya başlayın ücretsiz deneme ile
Minimal İş Akışı (5 adımda)
- OCR hata ayıklama için bir C# kütüphanesi indirin
LogFilePathöğesini yazılabilir bir dosya yolu olarak ayarlayınLoggingModöğesini tam tanılama kaydı içinAllolarak ayarlayın- OCR işleminizi çalıştırın ve sorunu yeniden oluşturun
- Oluşturulan günlük dosyasını motor uyarıları ve işleme detayları için inceleyin
Tanılama Günlüğünü Nasıl Etkinleştiririm?
Installation sınıfı üç kayıt kontrolü sağlar. Herhangi bir Read yöntemi çağırmadan önce bunları ayarlayın.
:path=/static-assets/ocr/content-code-examples/how-to/debugging-enable-logging.cs
using IronOcr;
// Write logs to a specific file
Installation.LogFilePath = "logs/ocr_diagnostics.log";
// Enable all logging channels: file + debug output
Installation.LoggingMode = Installation.LoggingModes.All;
// Or pipe logs into your existing ILogger pipeline
Installation.CustomLogger = myLoggerInstance;
Imports IronOcr
' Write logs to a specific file
Installation.LogFilePath = "logs/ocr_diagnostics.log"
' Enable all logging channels: file + debug output
Installation.LoggingMode = Installation.LoggingModes.All
' Or pipe logs into your existing ILogger pipeline
Installation.CustomLogger = myLoggerInstance
LoggingMod, LoggingMods numarasından bayrak değerlerini kabul eder:
| Mod | Çıktı Hedefi | Kullanım Durumu |
|---|---|---|
None | Devre Dışı | Dış izleme ile üretim |
Debug | IDE hata ayıklama çıktı penceresi | Yerel geliştirme |
File | LogFilePath | Sunucu tarafı günlük toplama |
All | Debug + File | Tam tanılama kaydı |
CustomLogger özelliği, boru hattınızdaki OCR tanılamaları Serilog, NLog veya diğer yapılandırılmış günlük mekanizmalarına yönlendirmenize olanak tanıyan herhangi bir Microsoft.Extensions.Logging.ILogger uygulamasını destekler. Çalışmalar arasındaki birikmiş günlük verilerini kaldırmak için ClearLogFiles kullanın.
Günlük yerleştirildikten sonra, bir sonraki adım IronOCR'nin hangi istisnaları atabileceğini ve her birini nasıl ele alacağınızı anlamaktır.
IronOCR Hangi İstisnaları Atar?
IronOCR, IronOcr.İstisnas alanında türlendirilmiş istisnaları tanımlar. Bunları genel bir catch bloğu yerine özel olarak yakalamak, her bir hata türünü doğru düzeltme yoluna yönlendirmenize olanak tanır.
| İstisna | Yaygın Neden | Çözüm |
|---|---|---|
IronOcrInputİstisna | Bozuk veya desteklenmeyen resim/PDF | OcrInput içine yüklemeden önce dosyayı doğrulayın |
IronOcrProductİstisna | OCR yürütme sırasında dahili motor hatası | Günlüğü etkinleştirin, günlük çıktısını kontrol edin, en son NuGet sürümüne güncelleyin |
IronOcrDictionaryİstisna | Eksi veya bozuk .traineddata dil dosyası | Dil paketi NuGet'i yeniden yükleyin veya LanguagePackDirectory ayarlayın |
IronOcrNativeİstisna | Yerel C++ etkileşim hatası | Visual C++ Yeniden Dağıtılabilir yükleyin; AVX desteğini kontrol edin |
IronOcrLicensingİstisna | Eksik veya süresi dolmuş lisans anahtarı | Read öncesinde LicenseKey ayarlayın |
LanguagePackİstisna | Beklenen yerde dil paketi bulunamadı | LanguagePackDirectory doğrulayın veya NuGet dil paketini yeniden yükleyin |
IronOcrAssemblyVersionMismatchİstisna | Kısmi güncelleme sonrası uyumsuz montaj sürümleri | NuGet önbelleğini temizleyin, paketleri geri yükleyin, tüm IronOCR paketlerinin uyumlu olduğundan emin olun |
Her bir istisna türünü ayrı ayrı ele almak için aşağıdaki try-catch bloğunu kullanın, koşullu günlükleme için istisna filtreleri uygulayın.
Girdi
IronOCR Çözümleri tarafından Acme Corporation'a gönderilen tek sayfalık bir satıcı faturası, LoadPdf üzerinden OcrInput'ye yüklendi. Dört satır öğesi, vergi ve toplam tutarı içerir - her istisna işlemcisinin gerçekçi bir alıştırma yapması için yeterli metin çeşitliliği.
invoice_scan.pdf: Her bir türlendirilmiş istisna işlemcisini sırayla göstermek için kullanılan tedarikçi faturası (#INV-2024-7829).
:path=/static-assets/ocr/content-code-examples/how-to/debugging-exception-handling.cs
using IronOcr;
using IronOcr.Exceptions;
var ocr = new IronTesseract();
try
{
using var input = new OcrInput();
input.LoadPdf("invoice_scan.pdf");
OcrResult result = ocr.Read(input);
Console.WriteLine($"Text: {result.Text}");
Console.WriteLine($"Confidence: {result.Confidence:P1}");
}
catch (IronOcrInputException ex)
{
// File could not be loaded — corrupt, locked, or unsupported format
Console.Error.WriteLine($"Input error: {ex.Message}");
}
catch (IronOcrDictionaryException ex)
{
// Language pack missing — common in containerized deployments
Console.Error.WriteLine($"Language pack error: {ex.Message}");
}
catch (IronOcrNativeException ex) when (ex.Message.Contains("AVX"))
{
// CPU does not support AVX instructions
Console.Error.WriteLine($"Hardware incompatibility: {ex.Message}");
}
catch (IronOcrLicensingException)
{
Console.Error.WriteLine("License key is missing or invalid.");
}
catch (IronOcrProductException ex)
{
// Catch-all for other IronOCR engine errors
Console.Error.WriteLine($"OCR engine error: {ex.Message}");
Console.Error.WriteLine($"Stack trace: {ex.StackTrace}");
}
Imports IronOcr
Imports IronOcr.Exceptions
Dim ocr As New IronTesseract()
Try
Using input As New OcrInput()
input.LoadPdf("invoice_scan.pdf")
Dim result As OcrResult = ocr.Read(input)
Console.WriteLine($"Text: {result.Text}")
Console.WriteLine($"Confidence: {result.Confidence:P1}")
End Using
Catch ex As IronOcrInputException
' File could not be loaded — corrupt, locked, or unsupported format
Console.Error.WriteLine($"Input error: {ex.Message}")
Catch ex As IronOcrDictionaryException
' Language pack missing — common in containerized deployments
Console.Error.WriteLine($"Language pack error: {ex.Message}")
Catch ex As IronOcrNativeException When ex.Message.Contains("AVX")
' CPU does not support AVX instructions
Console.Error.WriteLine($"Hardware incompatibility: {ex.Message}")
Catch ex As IronOcrLicensingException
Console.Error.WriteLine("License key is missing or invalid.")
Catch ex As IronOcrProductException
' Catch-all for other IronOCR engine errors
Console.Error.WriteLine($"OCR engine error: {ex.Message}")
Console.Error.WriteLine($"Stack trace: {ex.StackTrace}")
End Try
Çıktı
Başarı Çıktısı
Fatura sorunsuz yükleniyor ve motor bir karakter sayısını bir güven puanıyla birlikte geri dönüyor.
Başarısız Çıktı
Belirsizden genele doğru catch bloklarını sıralayın. when içindeki IronOcrNativeİstisna maddesi, ilişkisiz yerel hataları yakalamadan AVX ile ilgili hataları filtreler. Her bir işlemci istisna mesajını günlüğe kaydeder; genel bir catch bloğu ayrıca post-mortem analiz için istif dökümünü de yakalar.
Doğru istisnayı yakalamak, bir şeylerin ters gittiğini size söyler, ancak motorun başarılı olduğunda ne kadar iyi performans gösterdiğini söylemez. Bunun için güven puanlarını kullanın.
OCR Çıktısını Güven Puanları ile Nasıl Doğrularım?
Her OcrResult nesnesi, motorun tanınan tüm karakterler genelinde ortalama istatistiksel kesinliğini temsil eden 0 ile 1 arasında bir değer olan bir Confidence özelliği sunar. Bunu sonuç hiyerarşisinin her seviyesinde erişebilirsiniz: belge, sayfa, paragraf, kelime ve karakter seviyelerinde.
Düşük kaliteli sonuçların ileriye yayılmasını önlemek için eşik kapılı bir desen kullanın.
Girdi
Eşya, indirimler, toplamlar ve bir barkod içerikli bir termal fiş, LoadImage üzerinden yüklendi. Dar genişliği, monospaced yazı tipi ve soluk baskısı onu kelime başına güven eşiği için pratik bir stres testi yapar.
receipt.png: Eşik kapılı güven doğrulama ve kelime başına doğruluk incelemesi göstermek için kullanılan termal fiş taraması.
:path=/static-assets/ocr/content-code-examples/how-to/debugging-confidence-scoring.cs
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("receipt.png");
OcrResult result = ocr.Read(input);
double confidence = result.Confidence;
Console.WriteLine($"Overall confidence: {confidence:P1}");
// Threshold-gated decision
if (confidence >= 0.90)
{
Console.WriteLine("ACCEPT — high confidence, processing result.");
ProcessResult(result.Text);
}
else if (confidence >= 0.70)
{
Console.WriteLine("FLAG — moderate confidence, queuing for review.");
QueueForReview(result.Text, confidence);
}
else
{
Console.WriteLine("REJECT — low confidence, logging for investigation.");
LogRejection("receipt.png", confidence);
}
// Drill into per-page and per-word confidence for diagnostics
foreach (var page in result.Pages)
{
Console.WriteLine($" Page {page.PageNumber}: {page.Confidence:P1}");
var lowConfidenceWords = page.Words
.Where(w => w.Confidence < 0.70)
.ToList();
foreach (var word in lowConfidenceWords)
{
Console.WriteLine($" Low-confidence word: \"{word.Text}\" ({word.Confidence:P1})");
}
}
Imports IronOcr
Dim ocr As New IronTesseract()
Using input As New OcrInput()
input.LoadImage("receipt.png")
Dim result As OcrResult = ocr.Read(input)
Dim confidence As Double = result.Confidence
Console.WriteLine($"Overall confidence: {confidence:P1}")
' Threshold-gated decision
If confidence >= 0.9 Then
Console.WriteLine("ACCEPT — high confidence, processing result.")
ProcessResult(result.Text)
ElseIf confidence >= 0.7 Then
Console.WriteLine("FLAG — moderate confidence, queuing for review.")
QueueForReview(result.Text, confidence)
Else
Console.WriteLine("REJECT — low confidence, logging for investigation.")
LogRejection("receipt.png", confidence)
End If
' Drill into per-page and per-word confidence for diagnostics
For Each page In result.Pages
Console.WriteLine($" Page {page.PageNumber}: {page.Confidence:P1}")
Dim lowConfidenceWords = page.Words _
.Where(Function(w) w.Confidence < 0.7) _
.ToList()
For Each word In lowConfidenceWords
Console.WriteLine($" Low-confidence word: ""{word.Text}"" ({word.Confidence:P1})")
Next
Next
End Using
Çıktı
Bu desen, OCR'nin veri girişi, fatura işleme veya uyumluluk iş akışlarına girdiği hatlarda gereklidir. Kelime başına ayrıntılar, kaynak resmin hangi bölgelerinin bozulmaya neden olduğunu tam olarak belirler; daha sonra resim kalitesi filtreleri veya yönlendirme düzeltmeleri uygulayabilir ve yeniden işleme tabi tutabilirsiniz. Güven puanı hakkında daha ayrıntılı bir inceleme için güven seviyeleri nasıl yapılır kılavuzuna bakın.
Uzun süreli işler için yalnızca güven yeterli değildir. Motorun hala ilerleme kaydedip kaydetmediğini de bilmeniz gerekir ve bu da OcrProgress olayının devreye girdiği yerdir.
OCR İlerlemesini Gerçek Zamanlı Nasıl İzlerim?
Çok sayfalı belgeler için OcrProgress olayı, her sayfa tamamlandığında IronTesseract üzerinde çalışır. OcrProgressEventArgs nesnesi ilerleme yüzdesini, geçen süreyi, toplam sayfa sayısını ve tamamlanan sayfaları açığa çıkarır. Örnek, girdi olarak yukarıda belirtilen üç sayfalık çeyrek raporu kullanır: bir yönetici özeti, gelir dağılımı ve operasyonel metrikleri kapsayan yapılandırılmış bir iş belgesi.
Girdi
Üç sayfalık Q1 2024 mali raporu LoadPdf üzerinden yüklendi. Birinci sayfa yönetici özetini KPI metrikleriyle kapsar, ikinci sayfa ürün hatları ve bölgelere göre gelir tablolarını içerir ve üçüncü sayfa operasyonel işlem hacimlerini kapsar - her sayfa türü, ilerleme geri çağrılarına gözlemleyebileceğiniz belirgin sayfa başına zamanlama üretir.
quarterly_report.pdf: Üç sayfalık Q1 2024 mali raporu (yönetici özeti, gelir dağılımı, operasyonel metrikler) sayfa başına gerçek zamanlı `OcrProgress` geri çağrılarını göstermek için kullanılır.
:path=/static-assets/ocr/content-code-examples/how-to/debugging-progress-monitoring.cs
using IronOcr;
var ocr = new IronTesseract();
ocr.OcrProgress += (sender, e) =>
{
Console.WriteLine(
$"[OCR] {e.ProgressPercent}% complete | " +
$"Page {e.PagesComplete}/{e.TotalPages} | " +
$"Elapsed: {e.Duration.TotalSeconds:F1}s"
);
};
using var input = new OcrInput();
input.LoadPdf("quarterly_report.pdf");
OcrResult result = ocr.Read(input);
Console.WriteLine($"Finished in {result.Pages.Count()} pages, confidence: {result.Confidence:P1}");
Imports IronOcr
Dim ocr = New IronTesseract()
AddHandler ocr.OcrProgress, Sub(sender, e)
Console.WriteLine(
$"[OCR] {e.ProgressPercent}% complete | " &
$"Page {e.PagesComplete}/{e.TotalPages} | " &
$"Elapsed: {e.Duration.TotalSeconds:F1}s"
)
End Sub
Using input As New OcrInput()
input.LoadPdf("quarterly_report.pdf")
Dim result As OcrResult = ocr.Read(input)
Console.WriteLine($"Finished in {result.Pages.Count()} pages, confidence: {result.Confidence:P1}")
End Using
Çıktı
Bu olayı, OCR iş süresi izlemenin yanı sıra duraklamaları tespit etmek için loglama altyapınıza bağlayın. Gelecek süre, ilerleme yüzdesi ilerlemeden bir eşiği aşarsa, boru hattı işi soruşturma için işaretleyebilir. Bu, yığın PDF işleme için özellikle kullanışlıdır, burada tek bir bozuk sayfa tüm işi durdurabilir.
İlerleme izlemesi yürütme durumunu gösterir, ancak dosya düzeyinde bir hata, izole edilmezse tüm partiyi durdurabilir.
Yığın OCR Boru Hatlarında Hataları Nasıl Yönetirim?
Üretimde, tek bir dosya hatası tüm partiyi durdurmamalıdır. Her dosyada hataları izole edin, bağlamla hataları günlüğe kaydedin ve iş sonunda bir özet raporu oluşturun. Örnek, bir fatura, bir satın alma siparişi ve bir hizmet sözleşmesi ile bir hata yolunu tetiklemek için kasıtlı olarak bozulmuş bir dosya içeren tarama belgeleri klasörünü işler. Aşağıda temsili bir örnek gösterilmektedir:
Girdi
Bir PDF dosyaları klasörü Directory.GetFiles'ye geçti - bir fatura, bir satın alma siparişi, bir hizmet sözleşmesi ve kasıtlı olarak bozulmuş bir dosya. Aşağıdaki iki temsili örnek, boru hattının tek bir çalışmada işlediği belge çeşitliliğini gösterir.
batch-scan-01.pdf: Bright Horizon Ltd. için fatura (INV-2024-001) - başarılı OCR geçişi.
batch-scan-02.pdf: TechSupply Inc. için satın alma siparişi (PO-2024-042) - aynı çalışmada ikinci belge türü.
:path=/static-assets/ocr/content-code-examples/how-to/debugging-batch-pipeline.cs
using IronOcr;
using IronOcr.Exceptions;
var ocr = new IronTesseract();
Installation.LogFilePath = "batch_debug.log";
Installation.LoggingMode = Installation.LoggingModes.File;
string[] files = Directory.GetFiles("scans/", "*.pdf");
int succeeded = 0, failed = 0;
double totalConfidence = 0;
var failures = new List<(string File, string Error)>();
foreach (string file in files)
{
try
{
using var input = new OcrInput();
input.LoadPdf(file);
OcrResult result = ocr.Read(input);
totalConfidence += result.Confidence;
succeeded++;
Console.WriteLine($"OK: {Path.GetFileName(file)} — {result.Confidence:P1}");
}
catch (IronOcrInputException ex)
{
failed++;
failures.Add((file, $"Input error: {ex.Message}"));
Console.Error.WriteLine($"FAIL: {Path.GetFileName(file)} — {ex.Message}");
}
catch (IronOcrProductException ex)
{
failed++;
failures.Add((file, $"Engine error: {ex.Message}"));
Console.Error.WriteLine($"FAIL: {Path.GetFileName(file)} — {ex.Message}");
}
catch (Exception ex)
{
failed++;
failures.Add((file, $"Unexpected: {ex.Message}"));
Console.Error.WriteLine($"FAIL: {Path.GetFileName(file)} — {ex.GetType().Name}: {ex.Message}");
}
}
// Summary report
Console.WriteLine($"\n--- Batch Summary ---");
Console.WriteLine($"Total: {files.Length} | Passed: {succeeded} | Failed: {failed}");
if (succeeded > 0)
Console.WriteLine($"Average confidence: {totalConfidence / succeeded:P1}");
foreach (var (f, err) in failures)
Console.WriteLine($" {Path.GetFileName(f)}: {err}");
Imports IronOcr
Imports IronOcr.Exceptions
Imports System.IO
Dim ocr As New IronTesseract()
Installation.LogFilePath = "batch_debug.log"
Installation.LoggingMode = Installation.LoggingModes.File
Dim files As String() = Directory.GetFiles("scans/", "*.pdf")
Dim succeeded As Integer = 0
Dim failed As Integer = 0
Dim totalConfidence As Double = 0
Dim failures As New List(Of (File As String, Error As String))()
For Each file As String In files
Try
Using input As New OcrInput()
input.LoadPdf(file)
Dim result As OcrResult = ocr.Read(input)
totalConfidence += result.Confidence
succeeded += 1
Console.WriteLine($"OK: {Path.GetFileName(file)} — {result.Confidence:P1}")
End Using
Catch ex As IronOcrInputException
failed += 1
failures.Add((file, $"Input error: {ex.Message}"))
Console.Error.WriteLine($"FAIL: {Path.GetFileName(file)} — {ex.Message}")
Catch ex As IronOcrProductException
failed += 1
failures.Add((file, $"Engine error: {ex.Message}"))
Console.Error.WriteLine($"FAIL: {Path.GetFileName(file)} — {ex.Message}")
Catch ex As Exception
failed += 1
failures.Add((file, $"Unexpected: {ex.Message}"))
Console.Error.WriteLine($"FAIL: {Path.GetFileName(file)} — {ex.GetType().Name}: {ex.Message}")
End Try
Next
' Summary report
Console.WriteLine(vbCrLf & "--- Batch Summary ---")
Console.WriteLine($"Total: {files.Length} | Passed: {succeeded} | Failed: {failed}")
If succeeded > 0 Then
Console.WriteLine($"Average confidence: {totalConfidence / succeeded:P1}")
End If
For Each failure In failures
Console.WriteLine($" {Path.GetFileName(failure.File)}: {failure.Error}")
Next
Çıktı
Dış catch bloğu, ortak depolamalarda ağ süre aşımı, izin sorunları veya büyük TIFF'lerde bellek yetersizliği koşulları gibi öngörülemeyen hataları ele alır. Her başarısızlık, döngü kalan dosyaları işlemeye devam ederken özet için dosya yolunu ve hata mesajını kaydeder. batch_debug.log adresindeki günlük dosyası, iç tanılamaları tetikleyen herhangi bir dosya için motor düzeyinde detayı yakalar.
Hizmetlerde veya web uygulamalarında engellenmeyen yürütme için IronOCR, aynı try-catch yapısını kullanan ReadAsync destekler.
Çalışma sorunsuz hatasız çalışıyorsa ancak çıkarılan metin hala yanlışsa, kök neden neredeyse her zaman görüntü kalitesi olur, kodu içermez. Bunu nasıl ele alacağınız aşağıda açıklanmıştır.
OCR Hassasiyetini Nasıl Hata Ayıklarım?
Güven puanları sürekli olarak düşükse, sorun kaynağı motor değil kaynak görüntüdür. IronOCR, bunu ele almak için ön işleme araçları sunar:
- Metin netliğini artırmak için keskinleştirme, gürültü giderme, genişletme ve erozizyona görüntü kalitesi filtreleri uygulayın
- Taranmış belgelerin otomatik olarak eğik ve döndürülmesini sağlamak için yönlendirme düzeltmesi kullanın
- İşlemeden önce düşük çözünürlüklü görüntüler için DPI ayarını düzenle
- Karmaşık düzenlerde metin bölgelerini tespit etmek ve izole etmek için bilgisayarla görme kullanın IronOCR Utility, filtre kombinasyonlarını görsel olarak test etmenize ve en iyi C# yapılandırmasını dışa aktarmanıza olanak tanır
Dağıtım özgü sorunlar için, IronOCR Azure İşlevleri, Docker ve Linux ve genel ortam kurulumu için özel sorun giderme kılavuzlarını korur.
Sırada Ne Yapmalıyım?
Artık çalışma zamanında IronOCR'nin nasıl hata ayıklanacağını anladığınıza göre, şu konuları keşfedin:
- Sayfalar, bloklar, paragraflar, kelimeler ve koordinatlar dahil OCR sonuç yapısını ve meta verileri gezmek
- Sonuç hiyerarşisinin her seviyesinde güven puanlaması anlaşılması
- Yüksek verimliliğe sahip boru hatları için
ReadAsync()ile birlikte asenkron ve çok iş parçacığı kullanma - Tüm özellik listesini görmek için tam API referansını gözden geçirme
Üretim kullanımı için, filigranları kaldırmak ve tam işlevselliğe erişmek amacıyla bir lisans almayı unutmayın.
Sıkça Sorulan Sorular
C#'da OCR hata ayıklarken yaygın sorunlar nelerdir?
Yaygın sorunlar arasında yanlış OCR sonuçları, düşük güven puanları ve beklenmeyen istisnalar bulunur. IronOCR, bu sorunları belirleyip çözmek için günlüğe kaydetme ve güven puanlaması gibi araçlar sunar.
IronOCR, C#'da hata işlemeyi nasıl destekler?
IronOCR, OCR işlemi sırasında hataların etkili bir şekilde anlaşılmasına ve işlenmesine yardımcı olan yazılı hata mesajları ve detaylı hata iletileri sunar.
IronOCR'un hata ayıklama için hangi günlüğe kaydetme özellikleri vardır?
IronOCR, OCR süreçlerini izlemeye ve olası sorunları tanımlamaya yardımcı olarak OCR işlemleri hakkında ayrıntılı bilgi kaydeden yerleşik günlüğe kaydetme yeteneklerine sahiptir.
Güven puanlaması OCR sonuçlarını nasıl iyileştirir?
IronOCR'taki güven puanlaması, tanınan metnin doğruluğunu belirlemeye yardımcı olur, geliştiricilere düşük güven alanlarına odaklanma ve OCR sonuçlarını iyileştirme imkanı tanır.
IronOCR'u kullanarak OCR görevlerinin ilerlemesini takip edebilir miyim?
Evet, IronOCR, OCR görevlerinin durumunu ve süresini izlemeyi sağlayan ilerleme takibi özellikleri sunar ve böylece daha iyi kaynak yönetimi ve performans optimizasyonu sağlar.
OCR hata işleme için hangi try-catch desenleri önerilir?
IronOCR, istisnaların zarifçe işlenmesi için üretime hazır try-catch desenleri kullanılmasını önerir, bu sayede OCR uygulamaları sağlam ve sürdürülebilir kalır.
IronOCR'un yerleşik araçları OCR hata ayıklamayı nasıl geliştirir?
IronOCR'un araçları, örneğin günlüğe kaydetme, yazılı istisnalar ve güven puanlaması, sorunları tanımlama ve çözme konusunda kapsamlı destek sunar, böylece hata ayıklama sürecini geliştirir.
Hata günlüğe kaydetme OCR uygulamalarında neden önemlidir?
Hata günlüğe kaydetme, OCR işleme sırasında neyin yanlış gittiğine dair içgörüler sağlar, geliştiricilerin uygulamalarındaki sorunları hızla teşhis etmesine ve çözmesine olanak tanır.
IronOCR'da yazılı istisnalar hata ayıklamada ne rol oynar?
IronOCR'daki yazılı istisnalar, belirli hata bilgileri sağlar, geliştiricilerin sorunun doğasını anlamasını ve hata ayıklama sırasında uygun çözümleri uygulamasını kolaylaştırır.
Geliştiriciler IronOCR'un hata ayıklama özelliklerinden nasıl faydalanabilir?
Geliştiriciler, IronOCR'un hata ayıklama özelliklerinden yararlanarak sorunları etkin bir şekilde giderebilir, uygulama stabilitesini artırabilir ve OCR sonuçlarının genel kalitesini iyileştirebilir.

