IRONSOFTWAREHOME
IRONOCR KULLANIMI

C# CodeProject Eğitiminde OCR: Görsellerden IronOCR ile Metin Çıkarmak

Curtis Chau
Curtis Chau
Updated: 28 Haziran 2026

C# içindeki optik karakter tanıma (OCR), taranmış belgelerden, görüntü dosyalarından ve TIFF dosyalarından makine tarafından okunabilir metin çıkarmanıza olanak tanır. IronOCR ile, .NET yerel OCR kütüphanesi olarak, bir NuGet paketi yükleyin ve birkaç satır kodla görüntülerden metin okuma işlemine başlayın -- harici hizmet yok, çalışma zamanı bağımlılığı yok, çağrı başına API ücreti yok.

Aşağıdaki kod örnekleriyle birlikte gelişmek için IronOCR ücretsiz denemenizi başlatın.

Bir .NET Projesine IronOCR Nasıl Yüklenir?

Bir .NET 10 projesine OCR eklemenin en hızlı yolu NuGet Paket Yöneticisi üzerinden gerçekleşir. Projenizin dizininde bir terminal açın ve .NET CLI komutunu çalıştırın veya Visual Studio içindeki Paket Yöneticisi Konsolu'nu kullanın:

PM > Install-Package IronOcr

Kurulumdan sonra, NuGet paket yöneticisi gerekli tüm derlemeleri indirir ve referansları otomatik olarak bağlar. IronOCR, .NET Framework 4.6.2+, .NET Core 3.1+, ve .NET 5 ile .NET 10'u hedefler, bu nedenle konsol uygulamaları, ASP.NET Core servisleri, WPF uygulamaları ve Azure Fonksiyonları üzerinde çalışır.

Yerel olarak test etmek için bir lisans anahtarı kaydetmeniz gerekmez -- lisans uygulanıncaya kadar çıktıda bir deneme filigranı görünür. Kullandığınız yönergeyi ekleyin ve üretime hazır olduğunuzda anahtarınızı bir kez başlatma sırasında geçirin:

using IronOcr;

// Apply license key before any OCR calls (production only)
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";

Fiyatlandırma ve etkinleştirme detayları için IronOCR lisanslama sayfasına bakın.

Bir Görüntü Dosyasından Metin Nasıl Çıkarılır?

Temel OCR iş akışı üç nesneyi içerir: IronTesseract (motor), OcrInput (girdi konteyneri) ve OcrResult (çıktı). Aşağıdaki örnek, bir PNG okur ve tanınan metni konsola yazdırır.

using IronOcr;

var ocr = new IronTesseract();

using var input = new OcrInput();
input.LoadImage("sample-document.png");

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

Optik Karakter Tanıma Çıkışı

C# CodeProject Eğitimi'nde OCR: IronOCR ile Görsellerden Metin Çıkarma: Görsel 1 - OCR çıktısının ekran görüntüsü

IronTesseract, Tesseract 5 motorunu .NET'e uygun varsayılanlarla ve otomatik model yönetimi ile sarar. OcrInput.LoadImage, PNG, JPEG, BMP, GIF, TIFF ve WebP dosyalarını kabul eder, böylece motor için bir görseli geçirmeden önce formatları nadiren dönüştürmeniz gerekir.

OcrResult.Text özelliği, tüm tanımlanan karakterlerin yeni satırlarla birleştirildiği düz bir dize döndürür. Daha zengin erişim için -- kelime sınır kutuları, güven skorları, paragraflık metin başına -- result.Pages, result.Paragraphs, result.Words ve result.Characters koleksiyonlarına gezin.

Bilmeniz gereken ana özellikler:

  • result.Pages[0].Text -- tek bir sayfadaki metin
  • result.Words[n].Text ve result.Words[n].Confidence -- kelime başına doğruluk (0.0 -- 1.0)
  • result.Pages[0].Paragraphs -- yapılandırılmış çıkarım için paragraf bölümlendirme

Masaüstü veya web uygulamalarında UI iş parçacığını serbest bırakmak için ocr.ReadAsync(input)'ı da çağırabilirsiniz.

Taranmış Belgeler ve TIFF Dosyalarını Nasıl İşlersiniz?

Çok sayfalı TIFF dosyaları, belge tarama iş akışlarında yaygındır. IronOCR, büyük bir arşivin yalnızca bir alt kümesine ihtiyacınız olduğunda, hangi karelerin (sayfaların) işleneceğini seçmenize olanak tanıyan LoadImageFrames ile onları ele alır.

using IronOcr;

var ocr = new IronTesseract();

using var input = new OcrInput();
int[] pageIndices = { 0, 1, 2 };
input.LoadImageFrames("scanned-documents.tiff", pageIndices);

// Correct skew and remove noise before reading
input.Deskew();
input.DeNoise();

OcrResult result = ocr.Read(input);

foreach (var page in result.Pages)
{
    Console.WriteLine($"Page {page.PageNumber}:");
    Console.WriteLine(page.Text);
}

Çok Sayfalı TIFF Dosyası OCR Çıkışı

C# CodeProject Eğitimi'nde OCR: IronOCR ile Görsellerden Metin Çıkarma: Görsel 2 - Çok sayfalı TIFF OCR çıktısı

Deskew, düz tarayıcılar tarafından eklenen eğikliği düzeltmek için görüntüyü döndürür. DeNoise, Tesseract motorunu karıştıran lekeleri ve JPEG artefaktlarını kaldırır. Birlikte, bu iki ön işleme filtresi düşük kaliteli taramalarda tanıma doğruluğunu önemli ölçüde artırır.

Zor kaynak materyal için mevcut ek OcrInput filtreleri:

  • input.Sharpen() -- bulanık görüntüler için kenar kontrastını artırır
  • input.Binarize() -- faks kalitesindeki belgeler için siyah-beyaza dönüştürür
  • input.Scale(200) -- karakterleri daha iyi ayırmak için küçük görüntüleri yükseltir
  • input.Rotate(90) -- döndürülmüş belge yönelimlerini düzeltir

IronOCR görüntü filtreleri kılavuzunu inceleyin, ön işleme seçeneklerinin tam listesi ve ne zaman uygulanacakları.

OCR için Dil Desteği Nasıl Yapılandırılır?

Varsayılan olarak, IronOCR İngilizce metni okur. Başka dillerde belgeleri işlemek için, eşleşen dil NuGet paketini yükleyin ve IronTesseract örneğine Language özelliğini ayarlayın.

dotnet add package IronOcr.Languages.German, IronOcr.Languages.French, IronOcr.Languages.Japanese

O zaman motoru yapılandırın ve iki dilli belgeler için ikincil bir dil ekleyin:

using IronOcr;
using IronOcr.Languages;

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

// For bilingual documents (e.g. Canadian forms, EU directives)
ocr.AddSecondaryLanguage(OcrLanguage.French);

using var input = new OcrInput();
input.LoadImage("german-invoice.png");

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

IronOCR, her biri ayrı hafif bir NuGet paketi olarak dağıtılan 125'ten fazla dili destekler. Bu, üretim ikili dosyanızı küçük tutar -- uygulamanızın gerçekten ihtiyaç duyduğu dil verileri içerilir. Motor, AddSecondaryLanguage'ı çağırdığınızda tanıma sırasında birincil ve ikincil dil modellerini harmanlar.

OCR Hatalarını Nasıl Yönetir ve Tanınma Sonuçlarını İyileştirirsiniz?

Üretim uygulamalarının, OCR boru hattı etrafında hata yönetimine ihtiyacı vardır. Görüntü kalitesi sorunları, eksik dosyalar veya desteklenmeyen formatlar istisnalara neden olabilir. Çağrıyı bir try/catch bloğuna sarmak size temiz bir kurtarma yolu sağlar.

using IronOcr;

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

try
{
    using var input = new OcrInput();
    input.LoadImage("document.png");
    input.DeNoise();
    input.Deskew();

    OcrResult result = ocr.Read(input);

    if (result.Text.Length > 0)
    {
        Console.WriteLine("Recognised text:");
        Console.WriteLine(result.Text);
    }
    else
    {
        Console.WriteLine("No text was detected in the image.");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"OCR error: {ex.Message}");
}

Beklenenden düşük doğruluk olduğunda yardımcı olan birkaç ek ayar:

  • ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto -- tek sütunlu, çok sütunlu ve tek kelimelik düzenler arasında tercihi Tesseract'ın otomatik seçmesine izin verir
  • ocr.Configuration.ReadBarCodes = false -- yalnızca metin belgelerini işliyorsanız ve daha hızlı işlem istiyorsanız barkod algılamayı devre dışı bırakır
  • ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5 -- kullanılabilen en hızlı motoru kullandığınızdan emin olur

Alanların tahmin edilebilir konumlarda göründüğü yapılandırılmış formlar için, önemli olan alanları okumak için bölge tabanlı OCR kullanın:

using IronOcr;
using IronSoftware.Drawing;

var ocr = new IronTesseract();

using var input = new OcrInput();
var region = new CropRectangle(x: 50, y: 200, width: 600, height: 100);
input.LoadImage("form.png", region);

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

Büyük resimlerde tanımayı bir kesme dikdörtgeniyle sınırlandırmak, işlem hızını %90'a kadar azaltır. Bu teknik, fatura numarası çıkartma, form alanı okuma ve kimlik belgesi tarama için uygundur. bölge OCR nasıl yapılır kılavuzunda daha fazla detay mevcuttur.

Tanınan Metinden Aranabilir PDF Nasıl Oluşturulur?

Taranmış görüntü arşivlerini aranabilir PDF dosyalarına dönüştürmek, en yüksek değerli OCR kullanım alanlarından biridir. Ortaya çıkan dosya, PDF görüntüleyicileri, arama motorları ve ekran okuyucuların dizine ekleyebileceği gizli bir metin katmanı gömerek orijinal görsel görünümü korur.

using IronOcr;

var ocr = new IronTesseract();

using var input = new OcrInput();
input.Title = "Quarterly Report Q1 2026";
input.LoadImage("page1.png");
input.LoadImage("page2.png");
input.LoadImage("page3.png");

OcrResult result = ocr.Read(input);
result.SaveAsSearchablePdf("searchable-output.pdf");

Console.WriteLine("Searchable PDF created.");
Console.WriteLine($"Pages processed: {result.Pages.Count}");

Çıktı Aranabilir PDF Belgesi

C# CodeProject Eğitimi'nde OCR: IronOCR ile Görsellerden Metin Çıkarma: Görsel 3 - Giriş görsellerinden oluşturulmuş aranabilir PDF

SaveAsSearchablePdf, her tanınan kelimenin orijinal görüntünün tam piksel koordinatlarına yerleştirildiği PDF/A uyumlu bir dosya yazar. Adobe Acrobat, macOS'daki Preview ve Foxit Reader, bu dosyalarda oluşturulduktan hemen sonra tam metin aramalarını destekler.

Web tabanlı belge görüntüleyicileri veya aşağı yönlü NLP boru hatları için bunun yerine result.SaveAsHocrFile("output.hocr") kullanın. hOCR formatı, metinle birlikte kelime başına sınır kutuları kodlayan bir açık XML standardıdır ve istemci tarafı arama sırasında vurgulama ve kelime seviyesinde erişilebilirlik açıklamaları sağlar.

OcrResult üzerinden mevcut ek çıktı formatları:

  • result.SaveAsHocrFile("output.hocr") -- konumsal verilerle hOCR XML
  • result.ToXDocument() -- programatik işleme için LINQ-sorgulanabilir XDocument
  • result.Pages[0].Text -- akış boru hatları için sayfa başına düz metin

Zaten IronPDF ile çalışan uygulamalar için, OCR çıkarımını PDF düzenlemesiyle birleştirilen tek bir .NET sürecinde OcrResult'ı doğrudan PDF oluşturma iş akışlarına yönlendirebilirsiniz.

Metin Yanında Barkod Nasıl Okunur?

IronOCR, basılı metinle aynı görüntüye gömülü barkodları ve QR kodlarını okuyabilir, ayrı bir barkod kütüphanesi çalıştırma ihtiyacını ortadan kaldırır. Özelliği tek bir yapılandırma özelliğiyle etkinleştirin:

using IronOcr;

var ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;

using var input = new OcrInput();
input.LoadImage("shipping-label.png");

OcrResult result = ocr.Read(input);

Console.WriteLine("Text:");
Console.WriteLine(result.Text);

Console.WriteLine("Barcodes:");
foreach (var barcode in result.Barcodes)
{
    Console.WriteLine($"  {barcode.Format}: {barcode.Value}");
}

Desteklenen barkod formatları arasında Code 128, Code 39, EAN-13, EAN-8, UPC-A, UPC-E, PDF417, Data Matrix ve QR Code bulunur. IronOCR barkod okuma kılavuzunda tüm detaylar mevcuttur.

Bu yetenek, lojistik, sağlık ve perakende uygulamalarında özellikle kullanışlıdır, burada gönderi etiketleri, hasta bileklikleri ve ürün etiketleri hem insan tarafından okunabilen metin hem de makine tarafından okunabilen barkodlar taşır.

IronOCR Nasıl Diğer .NET OCR Seçenekleriyle Karşılaştırılır?

.NET için OCR kütüphanelerini değerlendiren geliştiriciler tipik olarak IronOCR, Tesseract.NET ve Google Cloud Vision veya Azure Bilgisayarla Görme gibi bulut hizmetlerini düşünür. Aşağıdaki tablo, temel farkları özetler:

Önemli geliştirici kriterleri arasında .NET OCR seçeneklerinin karşılaştırılması
KriterIronOCRTesseract.NETAzure Bilgisayarla Görme
DağıtımYerinde veya bulutta, harici çağrı yokYerindeSadece bulut, internet gerektirir
KurulumTek bir NuGet paketiBirden fazla paket + yerli ikililerSDK + Azure aboneliği
Dil paketleriNuGet paketleri aracılığıyla 125+Manuel tessdata indirmeAzure tarafından yönetilir
Aranabilir PDF çıktısıYerleşik bir yöntem çağrısındaDahil değilDahil değil
Görüntü ön işleme12+ yerleşik filtrelerManuel ön-isleme gerekliOtomatik (sunucu tarafı)
Fiyatlandırma modeliTek seferlik süresiz lisansAçık kaynak (Apache 2.0)Çağrı başına faturalama

Tesseract, Google tarafından bir açık kaynak projesi olarak sürdürülen Tesseract, hem IronOCR hem de Tesseract.NET'in arka planında gücünü sağlar. IronOCR, NET-idiyomatik paketleme, otomatik model yönetimi ve ham Tesseract bağlantılarının eksik olduğu üretim çıktısı özelliklerini (aranabilir PDF, hOCR dışa aktarımı) ekler. Azure Bilgisayarla Görme en son bulut doğruluğu sağlar, fakat yüksek hacimli ya da çevrimdışı iş akışları için uygun olmayan ağ gecikmesi ve çağrı başına maliyetler ekler.

Belgelerin harici hizmetlere gönderilmesini yasaklayan veri gizliliği düzenlemelerinin olduğu senaryolarda -- sağlık kayıtları, yasal belgeler, finansal beyanlar -- yerinde bir kütüphane olan IronOCR uygun bir seçimdir.

Sonraki Adımlarınız Neler?

Artık herhangi bir .NET 10 uygulamasına OCR eklemek için yapı taşlarına sahipsiniz: NuGet aracılığıyla kurulum, temel görüntü-metni çıkarma, çok sayfalı TIFF işleme, dil yapılandırması, hata yönetimi, bölge tabanlı okuma, barkod algılama ve aranabilir PDF oluşturma.

Daha derine inmek için bu IronOCR kaynaklarını keşfedin:

Lisanslama soruları için veya IronOCR'yi bir üretim ortamında dağıtmak için, IronOCR lisanslama sayfasına gidin. Değerlendirme süreniz boyunca çıktılarda filigranı kaldıran ücretsiz deneme lisansı ve Iron Software'in destek ekibi, herhangi bir kademede teknik sorular için mevcuttur.

İlk Adım:
arrow pointer
Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez