Neden IronOCR, Tesseract 4 NuGet Paketi'nden daha iyidir?

How to Tesseract OCR in C# Alternatives with IronOCR

This article was translated from English: Does it need improvement?
Translated
View the article in English

C# uygulamalarınızda optik karakter tanıma uygulamak mı istiyorsunuz? Google Tesseract, ücretsiz bir OCR çözümü sunarken, birçok geliştirici karmaşık kurulumu, gerçek dünya belgelerde sınırlı doğruluğu ve zorlayıcı C++ interop gereksinimleri ile mücadele etmektedir. Bu kapsamlı kılavuz, IronOCR'un geliştirilmiş Tesseract uygulaması kullanılarak %99,8-100 OCR doğruluğunun nasıl elde edileceğini gösteriyor - daha üstün sonuçlar sunarken kurulum sıkıntılarını ortadan kaldıran yerel bir C# kütüphanesi.

Taranmış belgelerden metin çıkarmak, faturaları işlemek veya belge otomasyon sistemleri oluşturmak ister misiniz? Haftalar yerine dakikalar içinde üretime hazır OCR uygulamayı öğreneceksiniz.

Hızlı Başlangıç: IronTesseract ile Tek Satırda OCR

IronOCR'un en basit API'sini kullanarak saniyeler içinde metin alın. Bu örnek, bir satır kodla IronTesseract çağırmanıza, bir görüntü beslemenize ve tanınan metni almanıza olanak tanır - fazla uğraşmadan, sadece sonuçlar.

  1. IronOCR aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronOcr
  2. Bu kod parçacığını kopyalayın ve çalıştırın.

    string text = new IronTesseract().Read(new OcrInput("image.png")).Text;
  3. Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronOCR kullanmaya başlayın

    arrow pointer

IronOCR'un Tesseract uygulaması için platform uyumluluğunu, desteklenen formatları ve gelişmiş işleme yeteneklerini gösteren kapsamlı özellik genel bakışı

C# ile Minimum Kod Kullanarak Görüntülerden Metin Nasıl Çıkarılır?

Aşağıdaki örnek, sadece birkaç satırlık kodla .NET uygulamanızda OCR işlevselliğini nasıl uygulayabileceğinizi gösteriyor. Vanilla Tesseract'tan farklı olarak, bu yaklaşım görüntü ön işleme işlemini otomatik olarak ele alır ve kusurlu taramalarda bile doğru sonuçlar sunar.

NuGet Paket Yöneticisi'ni kullanarak Visual Studio çözümlerinize IronOCR NuGet Paketini ekleyin.

:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-2.cs
using IronOcr;
using System;

var ocr = new IronTesseract();
using var input = new OcrInput();
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames(@"img\example.tiff", pageindices);
input.DeNoise();  //fixes digital noise
input.Deskew();   //fixes rotation and perspective

// there are dozens more filters, but most users wont need them
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
Imports IronOcr
Imports System

Private ocr = New IronTesseract()
Private input = New OcrInput()
Private pageindices = New Integer() { 1, 2 }
input.LoadImageFrames("img\example.tiff", pageindices)
input.DeNoise() 'fixes digital noise
input.Deskew() 'fixes rotation and perspective

' there are dozens more filters, but most users wont need them
Dim result As OcrResult = ocr.Read(input)
Console.WriteLine(result.Text)
$vbLabelText   $csharpLabel

Bu kod, IronOCR'un basitleştirilmiş API'sinin gücünü gösterir. IronTesseract sınıfı, Tesseract 5 etrafında yönetilen bir sarmayıcı sağlar, bu da karmaşık C++ interop gereksinimini ortadan kaldırır. OcrInput sınıfı, birden fazla görüntü formatı ve sayfa yüklemeyi desteklerken, isteğe bağlı ön işleme yöntemleri ([DeNoise() ve Deskew()) gerçek dünya belgelerinde doğruluğu önemli ölçüde artırabilir.

Temel metin çıkarımının ötesinde, OcrResult nesnesi, kelime düzeyinde güven puanları, karakter pozisyonları ve belge yapısı dahil olmak üzere zengin yapılandırılmış veriler sağlar - arama yapılabilir PDF oluşturma ve kesin metin konumu izleme gibi gelişmiş özelliklere olanak tanır.

Tesseract ve IronOCR Kurulumları Arasındaki Temel Farklar Nelerdir?

.NET ile Tesseract Motoru Kullanarak OCR

C#'de geleneksel Tesseract entegrasyonu, C++ kütüphanelerinin yönetilmesini gerektirir, bu da çeşitli zorluklar oluşturur.

Geliştiriciler, platforma özgü ikili dosyaları ele almak, Visual C++ çalıştırma zamanını kurmak ve 32/64-bit uyumluluk sorunlarını yönetmek zorundadır. Kurulum, genellikle Tesseract ve Leptonica kütüphanelerinin manuel olarak derlenmesini gerektirir, özellikle son Tesseract 5 sürümleri, Windows derlemesi için tasarlanmamıştır.

Platformlar arası dağıtım, Azure, Docker veya Linux ortamları ile birlikte özellikle sorunlu hale gelir, bu ortamlarda izinler ve bağımlılıklar önemli ölçüde değişir.

.NET için IronOCR Tesseract

IronOCR, NuGet yoluyla dağıtılan tek bir yönetilen .NET kütüphanesi aracılığıyla kurulum karmaşıklığını ortadan kaldırır:

Install-Package IronOcr

Yerel DLL'ler yok, C++ çalışma zamanları yok, platforma özgü yapılandırmalar yok. Her şey otomatik bağımlılık çözümü ile saf yönetilen kod olarak çalışır.

Kütüphane tam uyumluluk sağlar:

.NET Framework 4.6.2 ve üzeri

  • .NET Standard 2.0 ve üzeri (aynı zamanda .NET 5, 6, 7, 8, 9 ve 10)
  • .NET Core 2.0 ve üzeri

Bu yaklaşım, Windows, macOS, Linux, Azure, AWS Lambda, Docker konteynerleri ve hatta Xamarin mobil uygulamaları üzerinden tutarlı davranış sağlar.

Son OCR Motor Sürümleri .NET Geliştirme için Nasıl Kıyaslanıyor?

Google Tesseract with C

Tesseract 5 güçlü olsa da, Windows geliştiricileri için önemli zorluklar sunar.

En son sürümler, nadiren çalışan Windows ikili dosyaları üreten MinGW kullanılarak çapraz derleme gerektirir. GitHub'daki ücretsiz C# sarmalayıcılar genellikle Tesseract'ın en son sürümlerinin yıllar gerisinde kalır, önemli iyileştirmeler ve hata düzeltmelerini kaçırır. Geliştiriciler, genellikle bu derleme engelleri nedeniyle eski Tesseract 3.x veya 4.x sürümlerini kullanmak zorunda kalır.

.NET için IronOCR Tesseract

IronOCR, .NET için özel olarak optimize edilmiş bir özel Tesseract 5 motoru ile birlikte gönderilir.

Bu uygulama, yerel çok iş parçacıklı işlem desteği, otomatik resim ön işleme ve büyük belgelerin bellek verimli işlenmesi gibi performans iyileştirmeleri içerir. Düzenli güncellemeler, en son .NET sürümleri ile uyumluluğu sağlarken, geriye dönük uyumluluğu korur.

Kütüphane, harici sözlük dosyalarını yönetmeden 127'den fazla dil için OCR yeteneklerini eklemeyi basit hale getirerek özel NuGet paketleri aracılığıyla geniş dil desteği sunar.

Google Cloud OCR Karşılaştırması

Google Cloud Vision OCR yüksek doğruluk sunarken, internet bağlantısı gerektirir, istek başına maliyetlere neden olur ve hassas belgeler için veri gizliliği endişeleri doğurur. IronOCR, çevrimdışı işlem ile benzer doğruluk sunar, bu da veri güvenliği veya çevrim dışı kapasite gerektiren uygulamalar için idealdir.

Farklı Yaklaşımlarla Ne Düzeyde OCR Doğruluğu Elde Edebilirsiniz?

.NET Projelerinde Google Tesseract

Ham Tesseract, yüksek çözünürlüklü, mükemmel hizalı metin okumada başarılıdır, ancak gerçek dünya belgeleri ile zorluk yaşar.

Taranmış sayfalar, fotoğraflar veya düşük çözünürlüklü görüntüler, geniş ön işleme yapılmadan genellikle karışık çıktı üretir. Kabul edilebilir doğruluk elde etmek, ImageMagick veya benzeri araçlar kullanarak özel görüntü işleme hatları gerektirir - her belge türü için haftalarca geliştirme süresi ekler.

Yaygın doğruluk sorunları şunları içerir:

  • Eğik belgelerde yanlış okunan karakterler
  • Düşük DPI taramalarda tamamen başarısızlık
  • Karışık yazı tipleri veya düzenlerle kötü performans
  • Arka plan gürültüsü veya su işaretleriyle başa çıkamama

.NET Projelerinde IronOCR Tesseract

IronOCR'un gelişmiş uygulaması, çoğu iş belgesinde %99,8-100 doğruluk sağlar, elle ön işleme gerekmez:

using IronOcr;
using System;

// Create an instance of the IronTesseract class for OCR processing
var ocr = new IronTesseract();

// Create an OcrInput object to load and preprocess images
using var input = new OcrInput();

// Specify which pages to extract from multi-page documents
var pageIndices = new int[] { 1, 2 };

// Load specific frames from a TIFF file
// IronOCR automatically detects and handles various image formats
input.LoadImageFrames(@"img\example.tiff", pageIndices);

// Apply automatic image enhancement filters
// These filters dramatically improve accuracy on imperfect scans
input.DeNoise();    // Removes digital artifacts and speckles
input.Deskew();     // Corrects rotation up to 15 degrees

// Perform OCR with enhanced accuracy algorithms
OcrResult result = ocr.Read(input);

// Access the extracted text with confidence metrics
Console.WriteLine(result.Text);

// Additional accuracy features available:
// - result.Confidence: Overall accuracy percentage
// - result.Pages[0].Words: Word-level confidence scores
// - result.Blocks: Structured document layout analysis
using IronOcr;
using System;

// Create an instance of the IronTesseract class for OCR processing
var ocr = new IronTesseract();

// Create an OcrInput object to load and preprocess images
using var input = new OcrInput();

// Specify which pages to extract from multi-page documents
var pageIndices = new int[] { 1, 2 };

// Load specific frames from a TIFF file
// IronOCR automatically detects and handles various image formats
input.LoadImageFrames(@"img\example.tiff", pageIndices);

// Apply automatic image enhancement filters
// These filters dramatically improve accuracy on imperfect scans
input.DeNoise();    // Removes digital artifacts and speckles
input.Deskew();     // Corrects rotation up to 15 degrees

// Perform OCR with enhanced accuracy algorithms
OcrResult result = ocr.Read(input);

// Access the extracted text with confidence metrics
Console.WriteLine(result.Text);

// Additional accuracy features available:
// - result.Confidence: Overall accuracy percentage
// - result.Pages[0].Words: Word-level confidence scores
// - result.Blocks: Structured document layout analysis
Imports IronOcr
Imports System

' Create an instance of the IronTesseract class for OCR processing
Private ocr = New IronTesseract()

' Create an OcrInput object to load and preprocess images
Private input = New OcrInput()

' Specify which pages to extract from multi-page documents
Private pageIndices = New Integer() { 1, 2 }

' Load specific frames from a TIFF file
' IronOCR automatically detects and handles various image formats
input.LoadImageFrames("img\example.tiff", pageIndices)

' Apply automatic image enhancement filters
' These filters dramatically improve accuracy on imperfect scans
input.DeNoise() ' Removes digital artifacts and speckles
input.Deskew() ' Corrects rotation up to 15 degrees

' Perform OCR with enhanced accuracy algorithms
Dim result As OcrResult = ocr.Read(input)

' Access the extracted text with confidence metrics
Console.WriteLine(result.Text)

' Additional accuracy features available:
' - result.Confidence: Overall accuracy percentage
' - result.Pages[0].Words: Word-level confidence scores
' - result.Blocks: Structured document layout analysis
$vbLabelText   $csharpLabel

Otomatik ön işleme filtreleri, aksi takdirde manuel müdahale gerektirecek yaygın belge kalite sorunlarını yönetir. DeNoise() yöntemi taramadan dijital artifaktları kaldırırken, Deskew() belgelerin döndürülmesini düzeltir - her ikisi de yüksek doğruluğu korumak için kritiktir.

Gelişmiş kullanıcılar, özel yapılandırmalar kullanarak doğruluğu daha da optimize edebilir, karakter beyaz listeleme, bölgeye özgü işlem ve endüstri spesifik terminoloji için özel dil modelleri içeren.

OCR İşlemesi İçin Hangi Görüntü Formatları ve Kaynakları Destekleniyor?

.NET'te Google Tesseract

Yerel Tesseract sadece Leptonica PIX formatını kabul eder - C# içinde çalışması zor olan yönetilmeyen bir C++ işaretçisidir.

.NET görüntülerinin PIX formatına dönüştürülmesi, sızıntıları önlemek için dikkatli bellek yönetimi gerektirir. PDF'ler ve çok sayfalı TIFF'ler için destek, kendi uyumluluk sorunlarına sahip ek kütüphaneler gerektirir. Birçok uygulama, temel format dönüşümleri ile mücadele eder, bu da pratik kullanılabilirliği sınırlar.

IronOCR Görüntü Uyumluluğu

IronOCR geniş format destek sağlar ve otomatik dönüşümü içerir:

  • PDF belgeleri (şifre korumalı olanlar dahil)
  • Çok çerçeveli TIFF dosyaları
  • Standart formatlar: JPEG, PNG, GIF, BMP
  • Gelişmiş formatlar: JPEG2000, WBMP
  • .NET türleri: System.Drawing.Image, System.Drawing.Bitmap
  • Veri kaynakları: Akımlar, bayt dizileri, dosya yolları
  • Doğrudan tarayıcı entegrasyonu

Kapsamlı Format Destek Örneği

:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-5.cs
using IronOcr;

var text = new IronTesseract().Read("img.png").Text;
Imports IronOcr

Private text = (New IronTesseract()).Read("img.png").Text
$vbLabelText   $csharpLabel

Belge yüklemede birleşik yaklaşım, format spesifik kodu ortadan kaldırır. Taranmış TIFF'ler, dijital PDF'ler veya akıllı telefon fotoğraflarını işlerken, aynı API tüm senaryoları ele alır. OcrInput sınıfı, belleği akıllıca yönetir ve kaynak formatına bakılmaksızın tutarlı sonuçlar sağlar.

Özel senaryolar için, IronOCR ayrıca aynı belgelerden barkodları ve QR kodlarını okuma desteği de sunar, tek bir geçişte kapsamlı belge veri çıkarmasını sağlamak için.

Gerçek Dünya Uygulamalarında OCR Performansı Nasıl Kıyaslanıyor?

Ücretsiz Google Tesseract Performansı

Vanilla Tesseract, eğitim verilerine uyan önceden işlenmiş, yüksek çözünürlüklü görüntülerde kabul edilebilir hız sunabilir.

Ancak, gerçek dünya performansı genellikle hayal kırıklığı yaratır. Taranmış bir belgenin tek bir sayfasını işlemek, Tesseract görüntü kalitesiyle mücadele ederken 10-30 saniye sürebilir. Tek iş parçacıklı mimari, toplu işlemde bir darboğaz haline gelir ve büyük resimlerle bellek kullanımı kontrolsüz bir şekilde artabilir.

IronOCR Tesseract Kütüphanesi Performansı

IronOCR, üretim iş yükleri için akıllı performans optimizasyonları uygular:

:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-6.cs
using IronOcr;

var ocr = new IronTesseract();
ocr.Language = OcrLanguage.Arabic;

using var input = new OcrInput();
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames("img/arabic.gif", pageindices);

// Add image filters if needed
// In this case, even thought input is very low quality
// IronTesseract can read what conventional Tesseract cannot.

var result = ocr.Read(input);

// Console can't print Arabic on Windows easily.
// Let's save to disk instead.
result.SaveAsTextFile("arabic.txt");
Imports IronOcr

Private ocr = New IronTesseract()
ocr.Language = OcrLanguage.Arabic

Dim input = New OcrInput()
Dim pageindices = New Integer() { 1, 2 }
input.LoadImageFrames("img/arabic.gif", pageindices)

' Add image filters if needed
' In this case, even thought input is very low quality
' IronTesseract can read what conventional Tesseract cannot.

Dim result = ocr.Read(input)

' Console can't print Arabic on Windows easily.
' Let's save to disk instead.
result.SaveAsTextFile("arabic.txt")
$vbLabelText   $csharpLabel

Bu optimizasyonlar, IronOCR'nin üretime hazır tasarımını gösterir. Sadece BlackListCharacters yapılandırması, özel karakterler gerekmiyorsa, hızı %20-30 artırabilir. Hızlı dil paketleri, mükemmel doğruluğun kritik olmadığı yüksek hacimli işlem için mükemmel bir denge sağlar.

Kurumsal uygulamalar için IronOCR'nin çoklu iş parçacığı desteği, tek iş parçacıklı Tesseract'a kıyasla modern çok çekirdekli sistemlerde eşzamanlı belge işlemeyi ve 4-8 kat verimlilik artışı sağlar.

API Tasarımını Tesseract ve IronOCR Arasında Farklı Kılan Nedir?

.NET için Google Tesseract OCR

Ham Tesseract'ı C# uygulamalarına entegre etmek, iki zorlu seçenek sunar:

  • Interop sarmalayıcıları: Genellikle güncel değil, zayıf belgelenmiş ve bellek sızıntılarına yatkın
  • Komut satırı yürütme: Dağıtımı zor, güvenlik politikaları tarafından engellenir, zayıf hata yönetimi

Her iki yaklaşım da güvenilir bir şekilde bulut ortamlarında, web uygulamalarında veya çapraz platform dağıtımlarında çalışmaz. Uygun bir .NET entegrasyon eksikliği, iş sorunlarını çözmek yerine araçlarla mücadele edileceği anlamına gelir.

.NET için IronOCR Tesseract OCR Kütüphanesi

IronOCR, özellikle .NET geliştiricileri için tasarlanmış tam yönetilen, sezgisel bir API sağlar:

En Basit Uygulama

:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-7.cs
using IronOcr;

// For the Chinese Language Pack:
// PM> Install IronOcr.Languages.ChineseSimplified

var ocr = new IronTesseract();
ocr.Language = OcrLanguage.ChineseSimplified;
ocr.AddSecondaryLanguage(OcrLanguage.English);

// We can add any number of languages
using var input = new OcrInput();
input.LoadPdf("multi-language.pdf");
var result = ocr.Read(input);
result.SaveAsTextFile("results.txt");
Imports IronOcr

' For the Chinese Language Pack:
' PM> Install IronOcr.Languages.ChineseSimplified

Private ocr = New IronTesseract()
ocr.Language = OcrLanguage.ChineseSimplified
ocr.AddSecondaryLanguage(OcrLanguage.English)

' We can add any number of languages
Dim input = New OcrInput()
input.LoadPdf("multi-language.pdf")
Dim result = ocr.Read(input)
result.SaveAsTextFile("results.txt")
$vbLabelText   $csharpLabel

Bu sadeleştirilmiş API, geleneksel Tesseract entegrasyonunun karmaşıklığını ortadan kaldırır. Her yöntem, IDE'nizde doğrudan yetenekleri keşfetmeyi kolaylaştıran kapsamlı XML dokümantasyonu içerir. Geniş API dokümantasyonu, her özellik için detaylı örnekler sunar.

Deneyimli mühendislerden profesyonel destek, uygulama detaylarında takılı kalmanızı önler. Kütüphane, geliştirici geri bildirimlerine dayanarak yeni özellikler eklemeye devam ederken en son .NET sürümleriyle uyumluluğu sürdürerek düzenli güncellemeler alır.

Hangi Platformlar ve Dağıtım Senaryoları Destekleniyor?

.NET için Google Tesseract + Interop

Çapraz platform Tesseract dağıtımı, platforma özgü yapılar ve yapılandırmalar gerektirir.

Her hedef ortamda farklı ikili dosyalar, çalışma zamanı bağımlılıkları ve izinler gereklidir. Docker konteynerleri, dikkatli taban görüntüsü seçimi gerektirir. Azure dağıtımları genellikle eksik Visual C++ çalışma zamanları nedeniyle başarısız olur. Linux uyumluluğu, belirli dağıtımlar ve paket bulunabilirliğine bağlıdır.

.NET OCR Kütüphanesi IronOCR Tesseract

IronOCR, gerçek yaz-bir kere, her yere dağıt yeteneği sağlar:

Uygulama Türleri:

  • Masaüstü uygulamaları (WPF, WinForms, Konsol)
  • Web uygulamaları (ASP.NET Core, Blazor)
  • Bulut hizmetleri (Azure Functions, AWS Lambda)
  • Mobil uygulamalar (Xamarin üzerinden)
  • Mikroservisler (Docker, Kubernetes)

Platform Desteği:

  • Windows (7, 8, 10, 11, Sunucu sürümleri)
  • macOS (Intel ve Apple Silicon)
  • Linux (Ubuntu, Debian, CentOS, Alpine)
  • Docker konteynerleri (resmi taban görüntüleri)
  • Bulut platformları (Azure, AWS, Google Cloud)

.NET Uyumluluğu:

  • .NET Framework 4.6.2 ve üzeri
  • .NET Standard 2.0 ve üzeri (içerir .NET 5, 6, 7, 8, 9 ve 10)
  • .NET Core 2.0 ve üzeri
  • Mono çerçevesi
  • Xamarin.Mac

Kütüphane, platform farklılıklarını içsel olarak ele alır, tüm ortamlarda tutarlı sonuçlar sağlar. Dağıtım kılavuzları, konteynerleştirme, sunucusuz işlevler ve yüksek erişilebilirlik yapılandırmaları dahil belirli senaryoları kapsar.

Çok Dilli OCR Yeteneği Nasıl Karşılaştırılır?

Google Tesseract Dil Desteği

Ham Tesseract'ta dilleri yönetmek, tessdata dosyalarını indirmeyi ve yaklaşık 4GB olan tüm diller için bunları yönetmeyi gerektirir.

Klasör yapısı kesin olmalı, ortam değişkenleri düzgün yapılandırılmalı ve yollar çalışma zamanında erişilebilir olmalıdır. Dil değiştirme, sınırlı ortamlarda dağıtımı zorlaştıran dosya sistemi erişimi gerektirir. Tesseract ikili dosyaları ile dil dosyaları arasındaki sürüm uyumsuzluğu, anlaşılmaz hatalara neden olur.

IronOCR Dil Yönetimi

IronOCR, dil desteğini NuGet paket yönetimi ile devrim niteliğinde hale getirir:

Arapça OCR Örneği

:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-8.cs
using IronOcr;

// Configure IronTesseract for Arabic text recognition
var ocr = new IronTesseract
{
    // Set primary language to Arabic
    // Automatically handles right-to-left text
    Language = OcrLanguage.Arabic
};

// Load Arabic documents for processing
using var input = new OcrInput();
var pageIndices = new int[] { 1, 2 };
input.LoadImageFrames("img/arabic.gif", pageIndices);

// IronOCR includes specialized preprocessing for Arabic scripts
// Handles cursive text and diacritical marks automatically

// Perform OCR with language-specific optimizations
var result = ocr.Read(input);

// Save results with proper Unicode encoding
// Preserves Arabic text formatting and direction
result.SaveAsTextFile("arabic.txt");

// Advanced Arabic features:
// - Mixed Arabic/English document support
// - Automatic number conversion (Eastern/Western Arabic)
// - Font-specific optimization for common Arabic typefaces
Imports IronOcr

' Configure IronTesseract for Arabic text recognition
Dim ocr As New IronTesseract With {
    ' Set primary language to Arabic
    ' Automatically handles right-to-left text
    .Language = OcrLanguage.Arabic
}

' Load Arabic documents for processing
Using input As New OcrInput()
    Dim pageIndices As Integer() = {1, 2}
    input.LoadImageFrames("img/arabic.gif", pageIndices)

    ' IronOCR includes specialized preprocessing for Arabic scripts
    ' Handles cursive text and diacritical marks automatically

    ' Perform OCR with language-specific optimizations
    Dim result = ocr.Read(input)

    ' Save results with proper Unicode encoding
    ' Preserves Arabic text formatting and direction
    result.SaveAsTextFile("arabic.txt")

    ' Advanced Arabic features:
    ' - Mixed Arabic/English document support
    ' - Automatic number conversion (Eastern/Western Arabic)
    ' - Font-specific optimization for common Arabic typefaces
End Using
$vbLabelText   $csharpLabel

Çok Dilli Belge İşleme

:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-9.cs
using IronOcr;

// Install language packs via NuGet:
// PM> Install-Package IronOcr.Languages.ChineseSimplified

// Configure multi-language OCR
var ocr = new IronTesseract();

// Set primary language for majority content
ocr.Language = OcrLanguage.ChineseSimplified;

// Add secondary language for mixed content
// Perfect for documents with Chinese text and English metadata
ocr.AddSecondaryLanguage(OcrLanguage.English);

// Process multi-language PDFs efficiently
using var input = new OcrInput();
input.LoadPdf("multi-language.pdf");

// IronOCR automatically detects and switches between languages
// Maintains high accuracy across language boundaries
var result = ocr.Read(input);

// Export preserves all languages correctly
result.SaveAsTextFile("results.txt");

// Supported scenarios:
// - Technical documents with English terms in foreign text
// - Multilingual forms and applications  
// - International business documents
// - Mixed-script content (Latin, CJK, Arabic, etc.)
Imports IronOcr

' Install language packs via NuGet:
' PM> Install-Package IronOcr.Languages.ChineseSimplified

' Configure multi-language OCR
Dim ocr As New IronTesseract()

' Set primary language for majority content
ocr.Language = OcrLanguage.ChineseSimplified

' Add secondary language for mixed content
' Perfect for documents with Chinese text and English metadata
ocr.AddSecondaryLanguage(OcrLanguage.English)

' Process multi-language PDFs efficiently
Using input As New OcrInput()
    input.LoadPdf("multi-language.pdf")

    ' IronOCR automatically detects and switches between languages
    ' Maintains high accuracy across language boundaries
    Dim result = ocr.Read(input)

    ' Export preserves all languages correctly
    result.SaveAsTextFile("results.txt")
End Using

' Supported scenarios:
' - Technical documents with English terms in foreign text
' - Multilingual forms and applications  
' - International business documents
' - Mixed-script content (Latin, CJK, Arabic, etc.)
$vbLabelText   $csharpLabel

Dil paketi sistemi, her biri belirli yazı sistemleri ve yazı sistemleri için optimize edilmiş 127'den fazla dili destekler. NuGet üzerinden kurulum, sürüm uyumluluğunu sağlar ve farklı ortamlarda dağıtımı basitleştirir.

IronOCR'nin Temel OCR'nin Ötesinde Sağladığı Ekstra Özellikler Nelerdir?

IronOCR, temel metin çıkarımının çok ötesine geçerek kurumsal düzeyde özellikler sunar:

  • Otomatik Görüntü Analizi: Görüntü özelliklerine dayalı olarak işlemi akıllıca yapılandırır
  • Aranabilir PDF Oluşturma: Tarama belgelerini tamamen aranabilir PDF'lere dönüştürün. Çıktıya aktif OCR filtrelerini uygulamak için true'yı SaveAsSearchablePdf()'ye ikinci argüman olarak geçirin (v2025.5.11 eklendi)
  • Gelişmiş PDF OCR: Belge yapısını korurken metin çıkarın
  • Barkod ve QR Kod Okuma: Aynı geçişte barkodları algılayıp kodlarını çözün
  • HTML Dışa Aktarım: OCR sonuçlarından yapılandırılmış HTML oluşturun
  • TIFF'den PDF'ye Dönüşüm: Çok sayfalı TIFF'leri aranabilir PDF'lere dönüştürün
  • İngilizce El Yazısı OCR: İngilizce için yerel el yazısı tanıma, v2025.11.31'de eklendi - el ile doldurulmuş formlar ve notlar işleme konusunda ham Tesseract'a güçlü bir avantaj sağlar
  • Yönlendirme Algılama: DetectPageOrientation(), doğruluk/hız ticaretini kontrol eden dört OrientationDetectionMode değeri - Fast, Balanced, Detailed, ExtremeDetailed - destekler (v2025.8.6 eklendi)
  • Çoklu İş Parçacığı Desteği: Eşzamanlı olarak birden fazla belge işleyin
  • Detaylı Sonuç Analizi: Karakter düzeyinde verileri güven skorlari ile erişin

Scale() ve EnhanceResolution(), v2025.12.3 sürümündeki bilinen bir sorun nedeniyle SaveAsSearchablePdf() ile uyumsuzdur. Diğer tüm filtreler arama yapılabilir PDF çıktısıyla doğru şekilde çalışır.

OcrResult sınıfı, karmaşık son işlem ve doğrulama iş akışlarına imkan tanıyan tanınmış içeriğe ayrıntılı erişim sağlar.

C# Geliştirme için Hangi OCR Çözümünü Seçmelisiniz?

C# OCR için Google Tesseract

Vanilla Tesseract'ı seçin, eğer:

  • Akademik veya araştırma projeleri üzerinde çalışıyorsanız
  • Sınırsız geliştirme süresi ile mükemmel şekilde taranmış belgeleri işliyorsanız
  • Kavram kanıtı uygulamaları oluşturuyorsanız
  • Maliyet tek kriter ise

Önemli entegrasyon zorluklarına ve sürekli bakım gereksinimlerine hazırlıklı olun.

.NET Framework & Core için IronOCR Tesseract OCR Kütüphanesi

IronOCR, şu durumlar için en uygun seçimdir:

  • Güvenilirlik gerektiren üretim uygulamaları
  • Gerçek dünya belge kalitesi gerektiren projeler
  • Çapraz platform dağıtımları
  • Zamanla sınırlı gelişim programları
  • Profesyonel destek gerektiren uygulamalar

Kütüphane, geliştirme süresini azaltan ve zorlu belgelerde üstün doğruluk sağlayarak kendini geri öder.

C# Projenizde Profesyonel OCR ile Nasıl Başlarsınız?

Yüksek doğrulukta OCR'yi Visual Studio projenizde uygulamaya başlayın:

Install-Package IronOcr

Veya manuel kurulum için IronOCR .NET DLL dosyasını doğrudan indirin.

Tam başlangıç kılavuzumuz ile başlayın, kod örneklerini keşfedin ve gerektiğinde profesyonel destekten yararlanın.

Profesyonel OCR'nin farkını deneyimleyin - bugün ücretsiz denemenizi başlatın ve belge iş akışlarında %99,8+ doğruluğa ulaşan 10.000'den fazla şirkete katılın.

OCR ihtiyaçları için Iron Software ürünlerine güvenen NASA, LEGO ve 3M dahil büyük şirketlerin logoları Fortune 500 şirketleri ve dünya çapındaki devlet organizasyonları, görev-kritik belge işleme için Iron Software OCR teknolojisine güvenir

Sıkça Sorulan Sorular

C# uygulamalarında Tesseract OCR'yi nasıl uygulayabilirim?

C# uygulamalarında Tesseract OCR'yi uygulamak için, IronOCR kütüphanesinden IronTesseract sınıfını kullanabilirsiniz. NuGet üzerinden Install-Package IronOcr komutuyla kurulum yapın, ardından isim alanını using IronOcr; ekleyin. OCR motorunu var ocr = new IronTesseract(); ile başlatın ve bir görüntüden metin çıkarmak için var result = ocr.Read('image.png'); kullanın.

IronOCR'u geleneksel Tesseract'tan daha üstün kılan avantajlar nelerdir?

IronOCR, geleneksel Tesseract'a kıyasla bir dizi avantaj sunar, bunlar arasında yerel bağımlılıklar olmadan kolaylaştırılmış dağıtım, gelişmiş doğruluk için otomatik görüntü ön işleme ve yönetilen .NET entegrasyonu bulunur. PDF ve çok dilli desteği gibi özellikler sunar ve karmaşık C++ entegrasyonu gerektiren standart Tesseract yerine NuGet üzerinden kolayca yüklenebilir.

C# projelerimde OCR doğruluğunu nasıl artırabilirim?

C# projelerinizde OCR doğruluğunu artırmak için IronOCR'un otomatik görüntü geliştirme özelliklerini kullanın. input.DeNoise() ve input.Deskew() gibi yöntemler, görüntüleri ön işleyerek gürültüyü azaltır ve eğriliği düzeltir. Ayrıca, doğru dil ayarlarını seçin ve OcrResult.Confidence ile doğruluk doğrulama için güven metriklerini kullanın.

C# kullanarak PDF belgelerinde OCR uygulayabilir miyim?

Evet, IronOCR'un OcrInput sınıfı ile PDF belgelerinde OCR uygulayabilirsiniz. PDF'yi input.LoadPdf('file.pdf', 'password') ile yükleyin ve var result = ocr.Read(input); ile işleyin. Bu, C# uygulamalarınızda doğrudan aranabilir PDF'ler oluşturup metin çıkarma imkanı tanır.

Tek bir OCR belgesinde birden fazla dil nasıl işlenir?

IronOCR, tek bir belgede birden fazla dilin işlenmesine olanak tanır. Ana dili ocr.Language = OcrLanguage.English; kullanarak ayarlayın ve ocr.AddSecondaryLanguage(OcrLanguage.Spanish); ile ikincil dilleri ekleyin. Bu, karışık diller veya teknik terimler içeren belgeler için faydalıdır.

IronOCR hangi platformları desteklemektedir?

IronOCR, .NET Framework 4.6.2+, .NET Core 2.0+, .NET 5-10 ve .NET Standard 2.0+ gibi geniş bir platform yelpazesini desteklemektedir. Windows, macOS ve Linux üzerinde çalışır ve Docker kapsayıcıları, Azure İşlevleri, AWS Lambda ve Xamarin mobil uygulamalarında tutarlı performans sağlayarak farklı ortamlarda güvenilirlik sunar.

C# dilinde OCR işleme performansını nasıl optimize edebilirim?

C# dilinde OCR işleme performansını optimize etmek için IronOCR'un özelliklerini kullanarak gereksiz barkod taramasını ocr.Configuration.ReadBarCodes = false; ile devre dışı bırakın ve ocr.Language = OcrLanguage.EnglishFast; gibi daha hızlı dil modelleri seçin. Ayrıca, daha hızlı toplu işlem için çoklu iş parçacığı yeteneklerinden yararlanın.

IronOCR tarafından desteklenen görüntü formatları nelerdir?

IronOCR, PDF, TIFF, JPEG ve PNG dahil çeşitli görüntü formatlarını destekler. OcrInput sınıfını kullanarak input.LoadImage('photo.jpg') veya input.LoadPdf('file.pdf') gibi yöntemlerle görüntüler yükleyin. Bu geniş uyumluluk, farklı görüntü kaynakları ve formatlarıyla kolay entegrasyon sağlar.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ...

Daha Fazla Oku
Gözden Geçiren
Jeff Fritz
Jeffrey T. Fritz
Baş Program Yöneticisi - .NET Topluluğu Ekibi
Jeff, .NET ve Visual Studio ekipleri için bir Baş Program Yöneticisidir. .NET Conf sanal konferans serisinin baş yapımcısıdır ve haftada iki kez canlı yayınlanan 'Fritz and Friends' adlı bir akış programı sunar; burada izleyicilerle birlikte teknoloji konuşur ve kod yazar. Jeff, en büyük Microsoft geliştirici etkinlikleri için atölyeler, sunumlar ve içerik planları yazar, Microsoft Build, Microsoft Ignite, .NET Conf ve Microsoft MVP Summit gibi etkinliklerde yer alır.
Başlamaya Hazır mısınız?
Nuget İndirmeler 6,136,090 | Sürüm: 2026.7 yeni yayınlandı
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronOcr
örnek çalıştır görüntünüzün aranabilir metin haline gelmesini izleyin.