IRONSOFTWAREHOME
IRONOCR KULLANIMI

C#'da PDF'yi OCR Yapma: Taralı Belgelerden Metin Çıkarmak

Curtis Chau
Curtis Chau
Updated: 21 Nisan 2026

.NET geliştiricileri için Taranmış PDF belgeleri sürekli bir zorluk sunar: Metin yalnızca görüntüler olarak vardır, bu da arama yapmayı, kopyalamayı veya programatik olarak işlemeyi imkansız hale getirir. Optik Karakter Tanıma (OCR), taranmış görüntüleri düzenlenebilir ve aranabilir verilere dönüştürerek, kağıt belgeleri, kamera ile yakalanmış görüntüleri veya herhangi bir resim tabanlı PDF dosyasını makine tarafından okunabilir metne dönüştürerek bu sorunu çözer. Hedef, kağıt arşivlerinin dijitalleştirilmesi, veri çıkarımının otomatikleştirilmesi veya belge işleme boru hatları oluşturmak olsun, C# üzerinde PDF dosyalarında OCR gerçekleştirme yeteneği kritik bir özelliktir.

IronOCR, Tesseract 5 motorunu temel alan ve doğruluk geliştirmeleri içeren bir .NET OCR kütüphanesidir. Bu, geliştiricilerin kısa kod satırlarıyla herhangi bir PDF belgesinden — taranmış veya taranmamış — metin çıkarmasına olanak tanır. Bu makale, temel iş akışları gösterir: temel PDF OCR, sayfa-seçmeli işleme, bölge-hedefli çıkarım ve zorlu taramalar için görüntü ön işleme.

C# ile Bir PDF'de OCR Nasıl Gerçekleştirilir?

.NET'te PDF metin çıkarımı için en hızlı yol, IronOCR'u NuGet üzerinden yükleyerek başlar. Proje dizininizde bir terminal açın ve çalıştırın:

dotnet add package IronOcr

Paket kurulduktan sonra, işleme şu üst düzey ifade programı taranmış bir PDF'yi okur ve çıkarılan metni basar:

using IronOcr;

// Initialize the OCR engine
var ocr = new IronTesseract();

// Load the PDF and perform OCR
using var input = new OcrInput();
input.LoadPdf("scanned-report.pdf");

// Run recognition
OcrResult result = ocr.Read(input);

// Access the extracted text
string text = result.Text;
Console.WriteLine(text);

Tesseract 5'i .NET Core ve .NET Framework hedefleri için .NET yerel optimizasyonları ile saran IronTesseract sınıfı. OcrInput nesnesi, PDF yükleme ve iç sayfa render'ını yönetir. Read çağrıldığında, OCR süreci her sayfayı analiz eder ve tam çıkarılmış metni içeren, ayrıca paragraflar, satırlar, kelimeler ve bunların piksel koordinatları hakkında yapılandırılmış veri içeren bir OcrResult döndürür.

Sonuç, bir metin dosyasına yazılabilir, aşağı akış işleme mantığına aktarılabilir, bir veritabanında depolanabilir veya belge dizinleme hattına beslenebilir. Altta yatan motor hakkında daha fazla okuma için, Tesseract OCR belgelerine ve IronOCR API referansına bakın.

Giriş

Bir PDF Nasıl OCR Yapılır: Taratılmış Belgelerden Metin Çıkarın C# .NET OCR PDF: Görüntü 1 - Örnek PDF Girişi

Çıktı

Bir PDF Nasıl OCR Yapılır: Taratılmış Belgelerden Metin Çıkarın C# .NET OCR PDF: Görüntü 2 - Konsol Çıkışı

PDF'den Belirli Sayfalar Nasıl Okunur?

Bir uzun belgenin her sayfası işlenmesi, yalnızca belirli sayfaların ilgi çekici içerik taşıması durumunda zaman ve bellek israfıdır. IronOCR, sıfır tabanlı sayfa indekslerini LoadPdf'e geçirerek belirli sayfaları hedeflemenize olanak tanır:

using IronOcr;
using System.Collections.Generic;

var ocr = new IronTesseract();

// Specify pages to process (zero-based: 0 = first page)
var targetPages = new List<int> { 0, 2, 4 };

using var input = new OcrInput();
input.LoadPdf("lengthy-document.pdf", pageIndices: targetPages);

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

Seçici sayfa yükleme hem işleme süresini hem de bellek tüketimini azaltır, bu da yalnızca birkaç sayfanın gerekli verileri içeren çok yüz sayfalık arşivlerle çalışırken önemlidir. Sıfır bazlı dizin alışkanlığı, standart .NET koleksiyonlarına uyar: sayfa dizini 0, belgenin ilk sayfasıdır.

İlgili sayfaların önceden bilinmediği belgeler için hızlı bir tam belge geçişi önce düşük DPI ile gerçekleştirilebilir, sonra sadece bu sayfalar üzerinde tam ayarlarla yeniden çalıştırılır.

Sayfa düzeyi kontrol hakkında daha fazla bilgi için IronOCR sayfa seçimi dokümanını okuyun.

Belirli Bir Sayfanın Belirli Bir Bölgesinden Veri Nasıl Çıkarılır?

Fatura işleme, form dijitalleştirme ve yapılandırılmış belge ayrıştırma işlemleri genellikle tüm sayfayı taramak yerine belirli bir alandan metin çıkarmayı gerektirir. IronOCR, her sayfanın hangi kısımlarının analiz edileceğini belirten bir Rectangle dizisini kabul eden ContentAreas parametresi aracılığıyla bölge hedefli OCR'yi destekler:

using IronOcr;
using IronSoftware.Drawing;

var ocr = new IronTesseract();

// Define the scan region: X, Y, Width, Height (all in pixels from top-left)
var invoiceFields = new Rectangle[]
{
    new Rectangle(130, 290, 250, 50)   // Invoice number field
};

using var input = new OcrInput();
input.LoadPdf("invoice.pdf", contentAreas: invoiceFields);

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

Rectangle yapıcı dört tam sayı parametresi alır: X koordinatı, Y koordinatı, genişlik ve yükseklik -- bunların tümü render edilmiş sayfanın sol üst köşesinden piksel olarak ölçülür. Tam bir sayfa yerine küçük bir hedefleme, hem OCR süresini hem de motorun çevresindeki gürültüyü veya alakasız metin alanlarını almasını azaltır.

Toplu fatura işleme iş akışları için, bölge çıkarma ile result.Pages üzerinde yinelemeyi birleştirerek, yüzlerce belge boyunca aynı alan konumundan yapılandırılmış veriler çekebilirsiniz. Her sayfa sonucu, içerik alanı için tanınan metni bağımsız olarak ortaya koyar.

IronOCR içerik alanları örneği, çoklu bölge senaryoları için ek yapılandırma seçenekleri sunar.

Giriş

Bir PDF Nasıl OCR Yapılır: Taratılmış Belgelerden Metin Çıkarın C# .NET OCR PDF: Görüntü 3 - Örnek Fatura

Çıktı

Bir PDF Nasıl OCR Yapılır: Taratılmış Belgelerden Metin Çıkarın C# .NET OCR PDF: Görüntü 4 - Çıkarılmış Veri Çıkışı

Taranmış Belgelerde OCR Doğruluğu Nasıl Artırılır?

Gerçek dünyada taranmış belgeler sıklıkla kalite sorunlarıyla gelir: eğrilmiş sayfalar, düşük çözünürlük veya tarama donanımı veya yazılımı tarafından getirilen dijital gürültü. IronOCR, bu sorunları tanıma motoru çalışmadan önce düzelten bir dizi görüntü ön işleme filtresi içerir:

using IronOcr;

var ocr = new IronTesseract();

using var input = new OcrInput();
// Load PDF at higher DPI for improved text recognition on small fonts
input.LoadPdf("poor-quality-scan.pdf", dpi: 300);

// Apply image correction filters
input.Deskew();    // Automatically straighten rotated pages
input.DeNoise();   // Remove scanning artifacts and speckles

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

dpi parametresi, tanıma çalıştırılmadan önce PDF sayfalarının hangi çözünürlükte render edileceğini kontrol eder. Daha yüksek değerler — 200 ila 300 DPI — küçük veya yoğun metin içeren belgeler için doğruluğu artırır, işleme sırasında biraz daha fazla bellek maliyetiyle beraber gelir. Deskew yöntem sayfa dönüşünü otomatik olarak algılar ve düzeltir. DeNoise, karakter tanıma adımını karıştırabilecek lekeleri ve artefaktları kaldırır.

Daha agresif görüntü düzeltme gerektiren belgeler için IronOCR ayrıca kontrast güçlendirme, binarizasyon (sayfaların siyah-beyaz dönüştürülmesi) ve ölçek ayarları sağlar. Birden çok filtreyi ardışık olarak birleştirmek, aksi takdirde anlaşılmaz çıkış üretmeyecek olan taramalardan kullanılabilir metin elde edebilir. Mevcut ön işleme operasyonlarının tam listesini görmek için IronOCR görüntü filtreleri referansını inceleyin.

Şifre Korunmalı ve Çok Formatlı Belgeler Nasıl Ele Alınır?

IronOCR sadece standart PDF dosyaları ile sınırlı değildir. Kütüphane, belge işleme iş akışlarında sıklıkla ortaya çıkan bir dizi giriş senaryosunu ele alır.

Şifre korumalı PDF'ler, giriş oluşturma sırasında kimlik bilgilerini geçirerek desteklenir:

using IronOcr;

var ocr = new IronTesseract();

using var input = new OcrInput();
input.LoadPdf("protected.pdf", password: "secret123");

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

Görüntü formatları -- PNG, JPEG, TIFF, BMP, GIF ve çok sayfalı TIFF -- uygun LoadImage veya LoadImageFrames yöntemleriyle yüklenir. Girdi formatı ne olursa olsun aynı ön işleme filtreleri ve bölge hedefleme seçenekleri geçerlidir.

Çok dilli belgeler, IronOCR'un dil paketi sistemi aracılığıyla ele alınır. Kütüphane varsayılan olarak İngilizce ile gelir ve Latin, Kiril, CJK, Arapça ve diğer alfabeleri kapsayan 125'ten fazla ek dil paketi destekler. Read'ü çağırmadan önce ek dilleri yükleyin:

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

Aynı sayfada birden fazla dil karışımını içeren belgeler için MultiLanguage modu mevcuttur. Bu, başlıklar, satır kalemleri ve adreslerin farklı dillerde görünebileceği uluslararası ortamlarda fatura işleme için özellikle değerlidir.

Windows, Linux, macOS ve Azure ve Docker konteynerleri dahil olmak üzere bulut ortamlarında dağıtım çalışır.

Taranmış Belgelerden Aranabilir PDF'ler Nasıl Oluşturulur?

Metni dizelere çıkarmanın ötesinde, IronOCR, aranabilir PDF çıkışı üretebilir — orijinal taranmış görüntünün görsel katman olarak korunduğu bir PDF ve bir görünmez metin katmanı, arama ve kopyalama işlemleri için gömülüdür. Bu, profesyonel belge tarayıcıları tarafından üretilen standart formattır.

IronOCR aranabilir PDF özelliği bir OcrResult kabul eder ve yeni bir PDF dosyası yazar:

using IronOcr;

var ocr = new IronTesseract();

using var input = new OcrInput();
input.LoadPdf("scanned-archive.pdf");

OcrResult result = ocr.Read(input);

// Save as a searchable PDF
result.SaveAsSearchablePdf("output-searchable.pdf");

Çıktı dosyası her hangi bir PDF okuyucuda açılabilir. Metin seçimi, arama ve kopyalama işlemleri gömülü metin katmanı üzerinde çalışır, orijinal tarama görünümü korunurken. Bu format, uyumluluk arşivleri, yasal belge depoları ve kurumsal içerik yönetim sistemleri için yaygın olarak gereklidir.

Ek çıktı formatları için, OcrResult nesnesi ayrıca sayfa başına güvenilirlik puanları, kelime düzeyinde sınırlayıcı kutular ve yapılandırılmış paragraf verilerini -- tümü ilerideki sınıflandırma veya indeksleme görevleri için faydalıdır -- ortaya çıkarır.

Barkodlar ve QR Kodları Metinle Birlikte Nasıl Okunur?

Belge işleme iş akışları genellikle aynı belgeden insan tarafından okunabilir metin ve makine tarafından okunabilir kodları çıkarmak gerektirir. IronOCR, aynı OCR geçişi sırasında barkodları ve QR kodlarını algılar ve çözer, ayrı bir kütüphane gerektirmez.

İşleme başlamadan önce IronTesseract örneğinde barkod okuma etkinleştirin:

using IronOcr;

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

using var input = new OcrInput();
input.LoadPdf("shipment-labels.pdf");

OcrResult result = ocr.Read(input);

// Access recognized text
Console.WriteLine(result.Text);

// Access barcode data
foreach (var barcode in result.Barcodes)
{
    Console.WriteLine($"Type: {barcode.Format}, Value: {barcode.Value}");
}

Bu, özellikle sevkiyat etiketi işlemede, envanter yönetiminde ve barkodların ve basılı metinlerin birlikte bulunduğu taranmış belgelerde herhangi bir iş akışında kullanışlıdır. IronOCR barkod okuma kılavuzu, Code 128, QR kodları, Data Matrix ve PDF417 dahil olmak üzere desteklenen formatları kapsar.

IronOCR Giriş Türleri Arasındaki Fark Nedir?

IronOCR, farklı senaryolar için uygun olan iki ana PDF dosyası yükleme yaklaşımı sunar:

IronOCR PDF Giriş Yöntemleri Karşılaştırması
YaklaşımSınıfEn İyi İçinAçıklamalar
Genel girişOcrInput.LoadPdf()Çoğu kullanım durumuTüm ön işleme filtrelerini, sayfa seçimini, içerik alanlarını destekler
PDF'ye özgüOcrPdfInputBasit senaryolarKolaylık sağlayan sarıcı; daha az yapılandırma seçeneği
Görüntü dosyalarıOcrInput.LoadImage()PNG, JPEG, TIFF, BMPPDF girişi ile aynı ön işleme ve bölge hedefleme
Çok sayfalı TIFFOcrInput.LoadImageFrames()Faks arşivleri, tarayıcı çıktısıHer çerçeveyi ayrı bir sayfa olarak işler

Çoğu üretim senaryosu için, OcrInput.LoadPdf() tam ön işleme ve yapılandırma API'sini açığa çıkardığı için önerilen yaklaşımdır. OcrPdfInput, varsayılan ayarların yeterli olduğu durumlar veya hızlı prototipleme için iyi çalışır.

Sonraki Adımlarınız Neler?

Yukarıdaki kod örnekleri, PDF OCR için C# içindeki temel IronOCR iş akışlarını kapsar. İşte bir sonraki adımı atmak için kısa bir kontrol listesi:

  • Paket kurulumunu yapın: dotnet add package IronOcr veya NuGet üzerinde IronOCR arayın
  • Temel örneği çalıştırın: Tam boru hattı mantığını oluşturmak veya text çıkarmasını doğrulamak için bir örnek PDF'den metin çıkarımını onaylayın
  • Ön işlemeyi uygulayın: Taratılmış belgelerle çalışıyorsanız, Deskew ve DeNoise çağrılarını ekleyin ve temsilci örneklerle test edin
  • Ek Özellikleri Keşfet: Arama yapılabilir PDF çıktısı, barkod okuma, çok-dil desteği, ve yapılandırılmış veri çıktısı
  • Dağıtım kılavuzunu gözden geçirin: Azure, Docker ve Linux dağıtım makaleleri ortamdan bağımsız yapılandırmaları kapsar
  • Ücretsiz denemeyi deneyin: Lisanslama taahhüdünde bulunmadan önce tam özellik setini test etmek için ücretsiz deneme başlatın
  • Bir lisans edinin: IronOCR lisanslama seçenekleri, bireysel geliştiriciler üzerinden kurumsal dağıtımlara kadar kapsar, telif ücretsiz yeniden dağıtım ile

Belirli kullanım durumları hakkında sorular için, IronOCR nasıl-kütüphanesi, onlarca senaryoyu kapsayan adım adım makaleler sağlar. Tam API yüzeyi, IronOCR API referansında belgelidir.

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