Görüntülerden Metin Nasıl Çıkarılır

C# OCR Image to Text Tutorial: Convert Images to Text Without Tesseract

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

Tesseract'ın karmaşık yapılandırma sıkıntısı olmadan C#'ta görüntüleri metne çevirmek mi istiyorsunuz? Bu kapsamlı IronOCR C# öğreticisi, sadece birkaç satır kodla .NET uygulamalarınızda güçlü optik karakter tanıma işlemlerini nasıl uygulayacağınızı gösterir.

Hızlı Başlangıç: Bir Satırda Görüntüden Metin Çıkartın

Bu örnek IronOCR'ye hakim olmanın ne kadar kolay olduğunu gösterir—sadece bir satır C# kodu, görüntünüzü metne dönüştürür. Bu, OCR motorunun başlatılmasını ve karmaşık kurulum olmaksızın hemen metin okumasını ve almasını gösterir.

  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronOcr yükleyin

    PM > Install-Package IronOcr
  2. Bu kod parçasını kopyalayıp çalıştırın.

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

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

    arrow pointer

.NET Uygulamalarında Görüntülerden Metin Nasıl Okunur?

.NET uygulamalarınızda C# OCR görüntüden metne işlevselliği elde etmek için güvenilir bir OCR kütüphanesine ihtiyaçınız olacak. IronOCR, harici bağımlılıklar gerektirmeden hem doğruluk hem de hızı maksimize eden IronOcr.IronTesseract sınıfını kullanarak yönetilen bir çözüm sunar.

Öncelikle IronOCR'yi Visual Studio projenize yükleyin. IronOCR DLL'ini doğrudan indirebilir veya NuGet Paket Yöneticisini kullanabilirsiniz.

Install-Package IronOcr

Neden Tesseract Olmadan C# OCR için IronOCR'yi Seçmelisiniz?

C#'ta görüntüleri metne çevirmek gerektiğinde, IronOCR geleneksel Tesseract uygulamalarına göre önemli avantajlar sunar:

  • Saf .NET ortamlarında hemen çalışır
  • Tesseract kurulumu veya yapılandırması gerekmez
  • En son motorları çalıştırır: Tesseract 5 (artı Tesseract 4 & 3)
  • .NET Framework 4.6.2+, .NET Standard 2+ ve .NET Core 2, 3, 5, 6, 7, 8, 9 ve 10 ile uyumludur
  • Vanilya Tesseract'a göre doğruluğu ve hızı artırır
  • Xamarin, Mono, Azure ve Docker dağıtımlarını destekler
  • NuGet paketleriyle karmaşık Tesseract sözlüklerini yönetir
  • PDF'leri, Çok Çerçeveli TIFF'leri ve tüm ana görüntü formatlarını otomatik olarak işler
  • En iyi sonuçlar için düşük kaliteli ve eğri taramaları düzeltir

Temel OCR için IronOCR C# Eğitimini Nasıl Kullanırım?

Bu Iron Tesseract C# örneği, IronOCR kullanarak görüntüden metin okumak için en basit yolu gösterir. IronOcr.IronTesseract sınıfı, metni çıkarır ve bir dize olarak döndürür.

// Basic C# OCR image to text conversion using IronOCR
// This example shows how to extract text from images without complex setup

using IronOcr;
using System;

try
{
    // Initialize IronTesseract for OCR operations
    var ocrEngine = new IronTesseract();

    // Path to your image file - supports PNG, JPG, TIFF, BMP, and more
    var imagePath = @"img\Screenshot.png";

    // Create input and perform OCR to convert image to text
    using (var input = new OcrInput(imagePath))
    {
        // Read text from image and get results
        OcrResult result = ocrEngine.Read(input);

        // Display extracted text
        Console.WriteLine(result.Text);
    }
}
catch (OcrException ex)
{
    // Handle OCR-specific errors
    Console.WriteLine($"OCR Error: {ex.Message}");
}
catch (Exception ex)
{
    // Handle general errors
    Console.WriteLine($"Error: {ex.Message}");
}
// Basic C# OCR image to text conversion using IronOCR
// This example shows how to extract text from images without complex setup

using IronOcr;
using System;

try
{
    // Initialize IronTesseract for OCR operations
    var ocrEngine = new IronTesseract();

    // Path to your image file - supports PNG, JPG, TIFF, BMP, and more
    var imagePath = @"img\Screenshot.png";

    // Create input and perform OCR to convert image to text
    using (var input = new OcrInput(imagePath))
    {
        // Read text from image and get results
        OcrResult result = ocrEngine.Read(input);

        // Display extracted text
        Console.WriteLine(result.Text);
    }
}
catch (OcrException ex)
{
    // Handle OCR-specific errors
    Console.WriteLine($"OCR Error: {ex.Message}");
}
catch (Exception ex)
{
    // Handle general errors
    Console.WriteLine($"Error: {ex.Message}");
}
' Basic C# OCR image to text conversion using IronOCR
' This example shows how to extract text from images without complex setup

Imports IronOcr
Imports System

Try
	' Initialize IronTesseract for OCR operations
	Dim ocrEngine = New IronTesseract()

	' Path to your image file - supports PNG, JPG, TIFF, BMP, and more
	Dim imagePath = "img\Screenshot.png"

	' Create input and perform OCR to convert image to text
	Using input = New OcrInput(imagePath)
		' Read text from image and get results
		Dim result As OcrResult = ocrEngine.Read(input)

		' Display extracted text
		Console.WriteLine(result.Text)
	End Using
Catch ex As OcrException
	' Handle OCR-specific errors
	Console.WriteLine($"OCR Error: {ex.Message}")
Catch ex As Exception
	' Handle general errors
	Console.WriteLine($"Error: {ex.Message}")
End Try
$vbLabelText   $csharpLabel

Bu kod, net görüntülerde %100 doğruluğa ulaşır ve metni göründüğü gibi tam anlamıyla çıkarır:

IronOCR Simple Example

In this simple example we test the accuracy of our C# OCR library to read text from a PNG Image. This is a very basic test, but things will get more complicated as the tutorial continues.

The quick brown fox jumps over the lazy dog

IronTesseract sınıfı, karmaşık OCR işlemlerini dahili olarak yönetir. IronOCR'yi kullanarak insan seviyesi doğrulukla görüntüden metin okumak için hizalamayı otomatik olarak tarar, çözünürlüğü optimize eder ve AI kullanır.

Görüntü analizi, motor optimizasyonu ve akıllı metin tanıma dahil olmak üzere arka planda gelişmiş işlemler gerçekleşse de, OCR süreci, olağanüstü doğruluk seviyelerini koruyarak insan okuma hızına denk gelir.

IronOCR Basit Örneği, C# OCR görüntüsünü metne %100 doğrulukla dönüştürmeyi gösteriyor Bir PNG görüntüsünden metin çıkarma yeteneğini mükemmel doğrulukla gösteren IronOCR ekran görüntüsü

Gelişmiş C# OCR'yi Tesseract Yapılandırması Olmadan Nasıl Uygularım?

C#'da görüntüleri metne dönüştürürken optimal performans gerektiren üretim uygulamaları için OcrInput ve IronTesseract sınıflarını birlikte kullanın. Bu yaklaşım, OCR süreci üzerinde ayrıntılı kontrol sağlar.

OcrInput Sınıfı Özellikleri

  • Birden çok görüntü formatını işler: JPEG, TIFF, GIF, BMP, PNG
  • Tam PDF'leri veya belirli sayfaları içe aktarır
  • Kontrast, çözünürlük ve görüntü kalitesini otomatik olarak artırır
  • Dönüş, tarama gürültüsü, eğiklik ve negatif görüntüleri düzeltir

IronTesseract Sınıfı Özellikleri

  • 127'den fazla önceden paketlenmiş dile erişim
  • Tesseract 5, 4 ve 3 motorları dahil
  • Belge tipi belirtimi (ekran görüntüsü, parça veya tam belge)
  • Entegre barkod okuma yetenekleri
  • Birden fazla çıktı formatı: Aranabilir PDF'ler, HOCR HTML, DOM nesneleri ve dizeler

OcrInput ve IronTesseract ile Nasıl Başlanır?

Çoğu belge tipiyle iyi çalışan bu IronOCR C# eğitimi için önerilen bir yapılandırma:

using IronOcr;

// Initialize IronTesseract for advanced OCR operations
IronTesseract ocr = new IronTesseract();

// Create input container for processing multiple images
using (OcrInput input = new OcrInput())
{
    // Process specific pages from multi-page TIFF files
    int[] pageIndices = new int[] { 1, 2 };

    // Load TIFF frames - perfect for scanned documents
    input.LoadImageFrames(@"img\Potter.tiff", pageIndices);

    // Execute OCR to read text from image using IronOCR
    OcrResult result = ocr.Read(input);

    // Output the extracted text
    Console.WriteLine(result.Text);
}
using IronOcr;

// Initialize IronTesseract for advanced OCR operations
IronTesseract ocr = new IronTesseract();

// Create input container for processing multiple images
using (OcrInput input = new OcrInput())
{
    // Process specific pages from multi-page TIFF files
    int[] pageIndices = new int[] { 1, 2 };

    // Load TIFF frames - perfect for scanned documents
    input.LoadImageFrames(@"img\Potter.tiff", pageIndices);

    // Execute OCR to read text from image using IronOCR
    OcrResult result = ocr.Read(input);

    // Output the extracted text
    Console.WriteLine(result.Text);
}
Imports IronOcr

' Initialize IronTesseract for advanced OCR operations
Private ocr As New IronTesseract()

' Create input container for processing multiple images
Using input As New OcrInput()
	' Process specific pages from multi-page TIFF files
	Dim pageIndices() As Integer = { 1, 2 }

	' Load TIFF frames - perfect for scanned documents
	input.LoadImageFrames("img\Potter.tiff", pageIndices)

	' Execute OCR to read text from image using IronOCR
	Dim result As OcrResult = ocr.Read(input)

	' Output the extracted text
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Bu yapılandırma, orta kalite taramalar üzerinde tutarlı olarak neredeyse mükemmel doğruluk sağlar. LoadImageFrames metodu, çok sayfalı belgeleri verimli bir şekilde yönetir ve toplu işlem senaryoları için idealdir.


Harry Potter metnini C# OCR işlemi için hazır gösteren çok sayfalı TIFF belgesi

IronOCR'nin çok sayfalı metin çıkarma yeteneklerini gösteren örnek TIFF belgesi

Taranan belgelerdeki görüntülerden ve barkodlardan metin okuma yeteneği, IronOCR'nin karmaşık OCR görevlerini nasıl kolaylaştırdığını gösterir. Kütüphane, çok sayfalı TIFF'leri ve gerçek dünya belgelerini sorunsuz bir şekilde işleyerek PDF metin çıkarma ile mükemmelleşir.

IronOCR Düşük Kaliteli Taramaları Nasıl İşler?


IronOCR'nin görüntü iyileştirme yeteneklerini gösteren dijital gürültülü düşük kaliteli tarama

IronOCR'nin, görüntü filtrelerini kullanarak doğru bir şekilde işleyebileceği gürültülü düşük çözünürlüklü belge

Bozulma ve dijital gürültü içeren kusurlu taramalarla çalışırken, IronOCR diğer C# OCR kütüphanelerinden daha iyi performans gösterir. Pristine test görüntüleri yerine gerçek dünya senaryoları için özel olarak tasarlanmıştır.

// Advanced Iron Tesseract C# example for low-quality images
using IronOcr;
using System;

var ocr = new IronTesseract();

try
{
    using (var input = new OcrInput())
    {
        // Load specific pages from poor-quality TIFF
        var pageIndices = new int[] { 0, 1 };
        input.LoadImageFrames(@"img\Potter.LowQuality.tiff", pageIndices);

        // Apply deskew filter to correct rotation and perspective
        input.Deskew(); // Critical for improving accuracy on skewed scans

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

        // Display results
        Console.WriteLine("Recognized Text:");
        Console.WriteLine(result.Text);
    }
}
catch (Exception ex)
{
    Console.WriteLine($"Error during OCR: {ex.Message}");
}
// Advanced Iron Tesseract C# example for low-quality images
using IronOcr;
using System;

var ocr = new IronTesseract();

try
{
    using (var input = new OcrInput())
    {
        // Load specific pages from poor-quality TIFF
        var pageIndices = new int[] { 0, 1 };
        input.LoadImageFrames(@"img\Potter.LowQuality.tiff", pageIndices);

        // Apply deskew filter to correct rotation and perspective
        input.Deskew(); // Critical for improving accuracy on skewed scans

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

        // Display results
        Console.WriteLine("Recognized Text:");
        Console.WriteLine(result.Text);
    }
}
catch (Exception ex)
{
    Console.WriteLine($"Error during OCR: {ex.Message}");
}
' Advanced Iron Tesseract C# example for low-quality images
Imports IronOcr
Imports System

Private ocr = New IronTesseract()

Try
	Using input = New OcrInput()
		' Load specific pages from poor-quality TIFF
		Dim pageIndices = New Integer() { 0, 1 }
		input.LoadImageFrames("img\Potter.LowQuality.tiff", pageIndices)

		' Apply deskew filter to correct rotation and perspective
		input.Deskew() ' Critical for improving accuracy on skewed scans

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

		' Display results
		Console.WriteLine("Recognized Text:")
		Console.WriteLine(result.Text)
	End Using
Catch ex As Exception
	Console.WriteLine($"Error during OCR: {ex.Message}")
End Try
$vbLabelText   $csharpLabel

Input.Deskew() kullandığınızda, doğruluk düşük kaliteli taramalarda %99,8'e yükselir ve neredeyse yüksek kaliteli sonuçlarla eşleşir. Bu, IronOCR'nin Tesseract komplikasyonları olmadan C# OCR için neden tercih edilen seçim olduğunu gösterir.

Görüntü filtreleri, işlemi biraz yavaşlatabilir ancak genel OCR süresini önemli ölçüde azaltır. Doğru dengeyi bulmak, belge kalitenize bağlıdır.

Çoğu senaryo için, Input.Deskew() ve Input.DeNoise() OCR performansına güvenilir iyileştirmeler sağlar. Görüntü ön işleme teknikleri hakkında daha fazla bilgi edinin.

OCR Performansını ve Hızını Nasıl Optimize Edersiniz?

C#'ta görüntüleri metne çevirirken OCR hızını etkileyen en önemli faktör giriş kalitesidir. Gürültünün minimum olduğu ~200 dpi'lik yüksek DPI, en hızlı ve en doğru sonuçları üretir.

IronOCR, kusurlu belgeleri düzeltmekte üstün olsa da, bu iyileştirme ek işlem süresi gerektirir.

Minimum sıkıştırma artefaktlarına sahip görüntü formatlarını seçin. Dijital gürültünün daha düşük olması nedeniyle TIFF ve PNG genellikle JPEG'den daha hızlı sonuç verir.

Hangi Görüntü Filtreleri OCR Hızını Artırır?

C# OCR görüntüden metne iş akışınızda performansı ciddi şekilde artırabilecek aşağıdaki filtreler vardır:

  • OcrInput.Rotate(double degrees): Resimleri saat yönünde döndürür (ters yönde için negatif)
  • OcrInput.Binarize(): Düşük kontrastlı senaryolarda performansı artıran siyah/beyaz dönüşüm
  • OcrInput.ToGrayScale(): Olası hız iyileştirmeleri için gri tonlamaya dönüştürür
  • OcrInput.Contrast(): Daha iyi doğruluk için kontrastı otomatik ayarlar
  • OcrInput.DeNoise(): Gürültü bekleniyorsa dijital artefaktları kaldırır
  • OcrInput.Invert(): Siyah zemin üzerine beyaz metin için renkleri ters çevirir
  • OcrInput.Dilate(): Metin sınırlarını genişletir
  • OcrInput.Erode(): Metin sınırlarını daraltır
  • OcrInput.Deskew(): Hizalamayı düzeltir - eğik belgeler için esastır
  • OcrInput.DeepCleanBackgroundNoise(): Agresif gürültü temizleme
  • OcrInput.EnhanceResolution: Düşük çözünürlükteki görüntü kalitesini iyileştirir
  • OcrInput.DetectPageOrientation(): Sayfa döndürmeyi algılar ve düzeltir. Doğruluk/hız dengesi kontrolü için bir OrientationDetectionMode geçirin: Fast, Balanced, Detailed veya ExtremeDetailed (v2025.8.6 eklendi)

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

IronOCR'yi Maksimum Hız İçin Nasıl Yapılandırırsınız?

Yüksek kaliteli taramaları işlerken hızı optimize etmek için bu ayarları kullanın:

using IronOcr;

// Configure for speed - ideal for clean documents
IronTesseract ocr = new IronTesseract();

// Exclude problematic characters to speed up recognition
ocr.Configuration.BlackListCharacters = "~`$#^*_{[]}|\\";

// Use automatic page segmentation
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;

// Select fast English language pack
ocr.Language = OcrLanguage.EnglishFast;

using (OcrInput input = new OcrInput())
{
    // Load specific pages from document
    int[] pageIndices = new int[] { 1, 2 };
    input.LoadImageFrames(@"img\Potter.tiff", pageIndices);

    // Read with optimized settings
    OcrResult result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
using IronOcr;

// Configure for speed - ideal for clean documents
IronTesseract ocr = new IronTesseract();

// Exclude problematic characters to speed up recognition
ocr.Configuration.BlackListCharacters = "~`$#^*_{[]}|\\";

// Use automatic page segmentation
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;

// Select fast English language pack
ocr.Language = OcrLanguage.EnglishFast;

using (OcrInput input = new OcrInput())
{
    // Load specific pages from document
    int[] pageIndices = new int[] { 1, 2 };
    input.LoadImageFrames(@"img\Potter.tiff", pageIndices);

    // Read with optimized settings
    OcrResult result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
Imports IronOcr

' Configure for speed - ideal for clean documents
Private ocr As New IronTesseract()

' Exclude problematic characters to speed up recognition
ocr.Configuration.BlackListCharacters = "~`$#^*_{[]}|\"

' Use automatic page segmentation
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto

' Select fast English language pack
ocr.Language = OcrLanguage.EnglishFast

Using input As New OcrInput()
	' Load specific pages from document
	Dim pageIndices() As Integer = { 1, 2 }
	input.LoadImageFrames("img\Potter.tiff", pageIndices)

	' Read with optimized settings
	Dim result As OcrResult = ocr.Read(input)
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Bu optimize edilmiş kurulum, varsayılan ayarlara kıyasla %35 hız artışı sağlarken %99,8 doğruluğu korur.

C# OCR kullanarak Görüntülerin Belirli Alanlarını Nasıl Okuruz?

Aşağıdaki Iron Tesseract C# örneği, System.Drawing.Rectangle kullanarak belirli bölgeleri hedeflemeyi gösterir. Bu teknik, metnin öngörülebilir yerlerde göründüğü standartlaştırılmış formları işlerken paha biçilmezdir.

IronOCR, Kırpılmış Bölgeleri Daha Hızlı Sonuçlar için İşleyebilir mi?

Piksel tabanlı koordinatlar kullanarak, OCR'yi belirli alanlarla sınırlayabilir, hızı önemli ölçüde artırabilir ve istenmeyen metin çıkarmalarını önleyebilirsiniz:

using IronOcr;
using IronSoftware.Drawing;

// Initialize OCR engine for targeted region processing
var ocr = new IronTesseract();

using (var input = new OcrInput())
{
    // Define exact region for OCR - coordinates in pixels
    var contentArea = new System.Drawing.Rectangle(
        x: 215, 
        y: 1250, 
        width: 1335, 
        height: 280
    );

    // Load image with specific area - perfect for forms and invoices
    input.LoadImage("img/ComSci.png", contentArea);

    // Process only the defined region
    OcrResult result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
using IronOcr;
using IronSoftware.Drawing;

// Initialize OCR engine for targeted region processing
var ocr = new IronTesseract();

using (var input = new OcrInput())
{
    // Define exact region for OCR - coordinates in pixels
    var contentArea = new System.Drawing.Rectangle(
        x: 215, 
        y: 1250, 
        width: 1335, 
        height: 280
    );

    // Load image with specific area - perfect for forms and invoices
    input.LoadImage("img/ComSci.png", contentArea);

    // Process only the defined region
    OcrResult result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
Imports IronOcr
Imports IronSoftware.Drawing

' Initialize OCR engine for targeted region processing
Dim ocr As New IronTesseract()

Using input As New OcrInput()
    ' Define exact region for OCR - coordinates in pixels
    Dim contentArea As New System.Drawing.Rectangle(215, 1250, 1335, 280)

    ' Load image with specific area - perfect for forms and invoices
    input.LoadImage("img/ComSci.png", contentArea)

    ' Process only the defined region
    Dim result As OcrResult = ocr.Read(input)
    Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Bu hedeflenmiş yaklaşım, yalnızca ilgili metni çıkarırken %41 hız artışı sağlar. Faturalar, çekler ve formlar gibi yapılandırılmış belgeler için idealdir. Aynı kırpma tekniği, PDF OCR işlemleri ile sorunsuz çalışır.

Bilgisayar Bilimi belgesi, C#'da hedeflenmiş OCR bölge çıkarımını gösteriyor IronOCR'un dikdörtgen seçim özelliğini kullanarak hassas bölge tabanlı metin çıkarımı yapan belge

IronOCR Kaç Dili Destekler?

IronOCR, kullanışlı dil paketleri aracılığıyla 127 uluslararası dil sağlar. Web sitemizden veya NuGet Paket Yöneticisi aracılığıyla bunları DLL olarak indirebilirsiniz.

NuGet arayüzü üzerinden ("IronOcr.Languages" ara) dil paketlerini yükleyin veya tam dil paketi listesine göz atın.

Desteklenen diller arasında Arapça, Çince (Basitleştirilmiş/Geleneksel), Japonca, Korece, Hintçe, Rusça, Almanca, Fransızca, İspanyolca ve 115'ten fazla başka dil dahildir, her biri doğru metin tanıma için optimize edilmiştir.

Birden Fazla Dilde OCR Nasıl Uygulanır?

Bu IronOCR C# öğretici örneği, Arapça metin tanımayı gösterir:

Install-Package IronOcr.Languages.Arabic
IronOCR, birden fazla dil destekleyen Arapça metin işlemektedir

IronOCR, GIF resminden Arapça metni doğru bir şekilde çıkarmaktadır

// Install-Package IronOcr.Languages.Arabic
using IronOcr;

// Configure for Arabic language OCR
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
    // Load Arabic text image
    input.LoadImage("img/arabic.gif");

    // IronOCR handles low-quality Arabic text that standard Tesseract cannot
    var result = ocr.Read(input);

    // Save to file (console may not display Arabic correctly)
    result.SaveAsTextFile("arabic.txt");
}
// Install-Package IronOcr.Languages.Arabic
using IronOcr;

// Configure for Arabic language OCR
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
    // Load Arabic text image
    input.LoadImage("img/arabic.gif");

    // IronOCR handles low-quality Arabic text that standard Tesseract cannot
    var result = ocr.Read(input);

    // Save to file (console may not display Arabic correctly)
    result.SaveAsTextFile("arabic.txt");
}
Imports IronOcr

' Configure for Arabic language OCR
Dim ocr As New IronTesseract()
ocr.Language = OcrLanguage.Arabic

Using input As New OcrInput()
    ' Load Arabic text image
    input.LoadImage("img/arabic.gif")

    ' IronOCR handles low-quality Arabic text that standard Tesseract cannot
    Dim result = ocr.Read(input)

    ' Save to file (console may not display Arabic correctly)
    result.SaveAsTextFile("arabic.txt")
End Using
$vbLabelText   $csharpLabel

IronOCR, Birden Fazla Dil Belgeleri İşleyebilir mi?

Belgeler karışık diller içerdiğinde, IronOCR, çoklu dil desteği için yapılandırılır:

Install-Package IronOcr.Languages.ChineseSimplified
// Multi-language OCR configuration
using IronOcr;

var ocr = new IronTesseract();

// Set primary language
ocr.Language = OcrLanguage.ChineseSimplified;

// Add secondary languages as needed
ocr.AddSecondaryLanguage(OcrLanguage.English);

// Custom .traineddata files can be added for specialized recognition
// ocr.AddSecondaryLanguage("path/to/custom.traineddata");

using (var input = new OcrInput())
{
    // Process multi-language document
    input.LoadImage("img/MultiLanguage.jpeg");

    var result = ocr.Read(input);
    result.SaveAsTextFile("MultiLanguage.txt");
}
// Multi-language OCR configuration
using IronOcr;

var ocr = new IronTesseract();

// Set primary language
ocr.Language = OcrLanguage.ChineseSimplified;

// Add secondary languages as needed
ocr.AddSecondaryLanguage(OcrLanguage.English);

// Custom .traineddata files can be added for specialized recognition
// ocr.AddSecondaryLanguage("path/to/custom.traineddata");

using (var input = new OcrInput())
{
    // Process multi-language document
    input.LoadImage("img/MultiLanguage.jpeg");

    var result = ocr.Read(input);
    result.SaveAsTextFile("MultiLanguage.txt");
}
Imports IronOcr

' Multi-language OCR configuration
Dim ocr As New IronTesseract()

' Set primary language
ocr.Language = OcrLanguage.ChineseSimplified

' Add secondary languages as needed
ocr.AddSecondaryLanguage(OcrLanguage.English)

' Custom .traineddata files can be added for specialized recognition
' ocr.AddSecondaryLanguage("path/to/custom.traineddata")

Using input As New OcrInput()
    ' Process multi-language document
    input.LoadImage("img/MultiLanguage.jpeg")

    Dim result = ocr.Read(input)
    result.SaveAsTextFile("MultiLanguage.txt")
End Using
$vbLabelText   $csharpLabel

Birden Çok Sayfalı Belgeleri C# OCR ile Nasıl İşlenir?

IronOCR, birden fazla sayfayı veya resmi kesintisiz bir şekilde tek bir OcrResult olarak birleştirir. Bu özellik, arama yapılabilir PDF'ler oluşturma ve tüm belge setlerinden metin çıkarma gibi güçlü yetenekler sağlar.

Farklı kaynakları karıştırın ve eşleştirin - resimler, TIFF kareleri ve PDF sayfaları - tek bir OCR işleminde:

// Multi-source document processing
using IronOcr;

IronTesseract ocr = new IronTesseract();

using (OcrInput input = new OcrInput())
{
    // Add various image formats
    input.LoadImage("image1.jpeg");
    input.LoadImage("image2.png");

    // Process specific frames from multi-frame images
    int[] frameNumbers = { 1, 2 };
    input.LoadImageFrames("image3.gif", frameNumbers);

    // Process all sources together
    OcrResult result = ocr.Read(input);

    // Verify page count
    Console.WriteLine($"{result.Pages.Count} Pages processed.");
}
// Multi-source document processing
using IronOcr;

IronTesseract ocr = new IronTesseract();

using (OcrInput input = new OcrInput())
{
    // Add various image formats
    input.LoadImage("image1.jpeg");
    input.LoadImage("image2.png");

    // Process specific frames from multi-frame images
    int[] frameNumbers = { 1, 2 };
    input.LoadImageFrames("image3.gif", frameNumbers);

    // Process all sources together
    OcrResult result = ocr.Read(input);

    // Verify page count
    Console.WriteLine($"{result.Pages.Count} Pages processed.");
}
Imports IronOcr

' Multi-source document processing
Dim ocr As New IronTesseract()

Using input As New OcrInput()
    ' Add various image formats
    input.LoadImage("image1.jpeg")
    input.LoadImage("image2.png")

    ' Process specific frames from multi-frame images
    Dim frameNumbers As Integer() = {1, 2}
    input.LoadImageFrames("image3.gif", frameNumbers)

    ' Process all sources together
    Dim result As OcrResult = ocr.Read(input)

    ' Verify page count
    Console.WriteLine($"{result.Pages.Count} Pages processed.")
End Using
$vbLabelText   $csharpLabel

Bir TIFF dosyasının tüm sayfalarını etkili bir şekilde işleyin:

using IronOcr;

IronTesseract ocr = new IronTesseract();

using (OcrInput input = new OcrInput())
{
    // Define pages to process (0-based indexing)
    int[] pageIndices = new int[] { 0, 1 };

    // Load specific TIFF frames
    input.LoadImageFrames("MultiFrame.Tiff", pageIndices);

    // Extract text from all frames
    OcrResult result = ocr.Read(input);

    Console.WriteLine(result.Text);
    Console.WriteLine($"{result.Pages.Count} Pages processed");
}
using IronOcr;

IronTesseract ocr = new IronTesseract();

using (OcrInput input = new OcrInput())
{
    // Define pages to process (0-based indexing)
    int[] pageIndices = new int[] { 0, 1 };

    // Load specific TIFF frames
    input.LoadImageFrames("MultiFrame.Tiff", pageIndices);

    // Extract text from all frames
    OcrResult result = ocr.Read(input);

    Console.WriteLine(result.Text);
    Console.WriteLine($"{result.Pages.Count} Pages processed");
}
Imports IronOcr

Private ocr As New IronTesseract()

Using input As New OcrInput()
	' Define pages to process (0-based indexing)
	Dim pageIndices() As Integer = { 0, 1 }

	' Load specific TIFF frames
	input.LoadImageFrames("MultiFrame.Tiff", pageIndices)

	' Extract text from all frames
	Dim result As OcrResult = ocr.Read(input)

	Console.WriteLine(result.Text)
	Console.WriteLine($"{result.Pages.Count} Pages processed")
End Using
$vbLabelText   $csharpLabel

TIFF veya PDF'leri arama yapılabilir formatlara dönüştürün:

using System;
using IronOcr;

IronTesseract ocr = new IronTesseract();

using (OcrInput input = new OcrInput())
{
    // Set document metadata
    input.Title = "Quarterly Report";

    // Combine multiple sources
    input.LoadImage("image1.jpeg");
    input.LoadImage("image2.png");

    // Add specific frames from animated images
    int[] gifFrames = new int[] { 1, 2 };
    input.LoadImageFrames("image3.gif", gifFrames);

    // Create searchable PDF
    OcrResult result = ocr.Read(input);

    // Pass true to apply any active OcrInput filters to the searchable PDF output (added v2025.5.11)
    result.SaveAsSearchablePdf("searchable.pdf", true);
}
using System;
using IronOcr;

IronTesseract ocr = new IronTesseract();

using (OcrInput input = new OcrInput())
{
    // Set document metadata
    input.Title = "Quarterly Report";

    // Combine multiple sources
    input.LoadImage("image1.jpeg");
    input.LoadImage("image2.png");

    // Add specific frames from animated images
    int[] gifFrames = new int[] { 1, 2 };
    input.LoadImageFrames("image3.gif", gifFrames);

    // Create searchable PDF
    OcrResult result = ocr.Read(input);

    // Pass true to apply any active OcrInput filters to the searchable PDF output (added v2025.5.11)
    result.SaveAsSearchablePdf("searchable.pdf", true);
}
Imports System
Imports IronOcr

Dim ocr As New IronTesseract()

Using input As New OcrInput()
    ' Set document metadata
    input.Title = "Quarterly Report"

    ' Combine multiple sources
    input.LoadImage("image1.jpeg")
    input.LoadImage("image2.png")

    ' Add specific frames from animated images
    Dim gifFrames As Integer() = {1, 2}
    input.LoadImageFrames("image3.gif", gifFrames)

    ' Create searchable PDF
    Dim result As OcrResult = ocr.Read(input)

    ' Pass true to apply any active OcrInput filters to the searchable PDF output (added v2025.5.11)
    result.SaveAsSearchablePdf("searchable.pdf", True)
End Using
$vbLabelText   $csharpLabel

Mevcut PDF'leri arama yapılabilir versiyonlara dönüştürün:

using IronOcr;

var ocr = new IronTesseract();

using (var input = new OcrInput())
{
    // Set PDF metadata
    input.Title = "Annual Report 2024";

    // Process existing PDF
    input.LoadPdf("example.pdf", "password");

    // Generate searchable version
    var result = ocr.Read(input);
    result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;

var ocr = new IronTesseract();

using (var input = new OcrInput())
{
    // Set PDF metadata
    input.Title = "Annual Report 2024";

    // Process existing PDF
    input.LoadPdf("example.pdf", "password");

    // Generate searchable version
    var result = ocr.Read(input);
    result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr

Private ocr = New IronTesseract()

Using input = New OcrInput()
	' Set PDF metadata
	input.Title = "Annual Report 2024"

	' Process existing PDF
	input.LoadPdf("example.pdf", "password")

	' Generate searchable version
	Dim result = ocr.Read(input)
	result.SaveAsSearchablePdf("searchable.pdf")
End Using
$vbLabelText   $csharpLabel

Aynı tekniği TIFF dönüşümleri için uygulayın:

using IronOcr;

var ocr = new IronTesseract();

using (var input = new OcrInput())
{
    // Configure document properties
    input.Title = "Scanned Archive Document";

    // Select pages to process
    var pageIndices = new int[] { 1, 2 };
    input.LoadImageFrames("example.tiff", pageIndices);

    // Create searchable PDF from TIFF
    OcrResult result = ocr.Read(input);
    result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;

var ocr = new IronTesseract();

using (var input = new OcrInput())
{
    // Configure document properties
    input.Title = "Scanned Archive Document";

    // Select pages to process
    var pageIndices = new int[] { 1, 2 };
    input.LoadImageFrames("example.tiff", pageIndices);

    // Create searchable PDF from TIFF
    OcrResult result = ocr.Read(input);
    result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr

Private ocr = New IronTesseract()

Using input = New OcrInput()
	' Configure document properties
	input.Title = "Scanned Archive Document"

	' Select pages to process
	Dim pageIndices = New Integer() { 1, 2 }
	input.LoadImageFrames("example.tiff", pageIndices)

	' Create searchable PDF from TIFF
	Dim result As OcrResult = ocr.Read(input)
	result.SaveAsSearchablePdf("searchable.pdf")
End Using
$vbLabelText   $csharpLabel

OCR Sonuçlarını HOCR HTML Olarak Nasıl Dışa Aktarılır?

IronOCR, yapılandırılmış PDF to HTML ve TIFF to HTML dönüşümlerini, düzen bilgilerini koruyarak mümkün kılan HOCR HTML dışa aktarma desteği sağlar:

using IronOcr;

var ocr = new IronTesseract();

using (var input = new OcrInput())
{
    // Set HTML title
    input.Title = "Document Archive";

    // Process multiple document types
    input.LoadImage("image2.jpeg");
    input.LoadPdf("example.pdf", "password");

    // Add TIFF pages
    var pageIndices = new int[] { 1, 2 };
    input.LoadImageFrames("example.tiff", pageIndices);

    // Export as HOCR with position data
    OcrResult result = ocr.Read(input);
    result.SaveAsHocrFile("hocr.html");
}
using IronOcr;

var ocr = new IronTesseract();

using (var input = new OcrInput())
{
    // Set HTML title
    input.Title = "Document Archive";

    // Process multiple document types
    input.LoadImage("image2.jpeg");
    input.LoadPdf("example.pdf", "password");

    // Add TIFF pages
    var pageIndices = new int[] { 1, 2 };
    input.LoadImageFrames("example.tiff", pageIndices);

    // Export as HOCR with position data
    OcrResult result = ocr.Read(input);
    result.SaveAsHocrFile("hocr.html");
}
Imports IronOcr

Dim ocr As New IronTesseract()

Using input As New OcrInput()
    ' Set HTML title
    input.Title = "Document Archive"

    ' Process multiple document types
    input.LoadImage("image2.jpeg")
    input.LoadPdf("example.pdf", "password")

    ' Add TIFF pages
    Dim pageIndices As Integer() = {1, 2}
    input.LoadImageFrames("example.tiff", pageIndices)

    ' Export as HOCR with position data
    Dim result As OcrResult = ocr.Read(input)
    result.SaveAsHocrFile("hocr.html")
End Using
$vbLabelText   $csharpLabel

IronOCR Metni Okurken Barkodları da Okuyabilir mi?

IronOCR, barkod okuma yetenekleri ile metin tanımayı benzersiz bir şekilde birleştirir, ayrı kütüphanelere olan ihtiyaçı ortadan kaldırır:

// Enable combined text and barcode recognition
using IronOcr;

var ocr = new IronTesseract();

// Enable barcode detection
ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
    // Load image containing both text and barcodes
    input.LoadImage("img/Barcode.png");

    // Process both text and barcodes
    var result = ocr.Read(input);

    // Extract barcode data
    foreach (var barcode in result.Barcodes)
    {
        Console.WriteLine($"Barcode Value: {barcode.Value}");
        Console.WriteLine($"Type: {barcode.Type}, Location: {barcode.Location}");
    }
}
// Enable combined text and barcode recognition
using IronOcr;

var ocr = new IronTesseract();

// Enable barcode detection
ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
    // Load image containing both text and barcodes
    input.LoadImage("img/Barcode.png");

    // Process both text and barcodes
    var result = ocr.Read(input);

    // Extract barcode data
    foreach (var barcode in result.Barcodes)
    {
        Console.WriteLine($"Barcode Value: {barcode.Value}");
        Console.WriteLine($"Type: {barcode.Type}, Location: {barcode.Location}");
    }
}
Imports IronOcr

Dim ocr As New IronTesseract()

' Enable barcode detection
ocr.Configuration.ReadBarCodes = True

Using input As New OcrInput()
    ' Load image containing both text and barcodes
    input.LoadImage("img/Barcode.png")

    ' Process both text and barcodes
    Dim result = ocr.Read(input)

    ' Extract barcode data
    For Each barcode In result.Barcodes
        Console.WriteLine($"Barcode Value: {barcode.Value}")
        Console.WriteLine($"Type: {barcode.Type}, Location: {barcode.Location}")
    Next
End Using
$vbLabelText   $csharpLabel

Ayrıntılı OCR Sonuçlarına ve Metadatalara Nasıl Erişilir?

IronOCR sonuç nesnesi, ileri düzey geliştiricilerin karmaşık uygulamalar için yararlanabileceği kapsamlı veriler sağlar.

Her OcrResult hiyerarşik koleksiyonlar içerir: sayfalar, paragraflar, satırlar, kelimeler ve karakterler. Tüm öğeler, konum, yazı tipi bilgileri ve güven skoru gibi ayrıntılı metadatalar içerir.

Bireysel öğeler (paragraflar, kelimeler, barkodlar), daha fazla işleme için resim veya bitmap olarak dışa aktarılabilir:

using System;
using IronOcr;
using IronSoftware.Drawing;

// Configure with barcode support
IronTesseract ocr = new IronTesseract
{
    Configuration = { ReadBarCodes = true }
};

using OcrInput input = new OcrInput();

// Process multi-page document
int[] pageIndices = { 1, 2 };
input.LoadImageFrames(@"img\Potter.tiff", pageIndices);

OcrResult result = ocr.Read(input);

// Navigate the complete results hierarchy
foreach (var page in result.Pages)
{
    // Page-level data
    int pageNumber = page.PageNumber;
    string pageText = page.Text;
    int pageWordCount = page.WordCount;

    // Extract page elements
    OcrResult.Barcode[] barcodes = page.Barcodes;
    AnyBitmap pageImage = page.ToBitmap();
    double pageWidth = page.Width;
    double pageHeight = page.Height;

    foreach (var paragraph in page.Paragraphs)
    {
        // Paragraph properties
        int paragraphNumber = paragraph.ParagraphNumber;
        string paragraphText = paragraph.Text;
        double paragraphConfidence = paragraph.Confidence;
        var textDirection = paragraph.TextDirection;

        foreach (var line in paragraph.Lines)
        {
            // Line details including baseline information
            string lineText = line.Text;
            double lineConfidence = line.Confidence;
            double baselineAngle = line.BaselineAngle;
            double baselineOffset = line.BaselineOffset;

            foreach (var word in line.Words)
            {
                // Word-level data
                string wordText = word.Text;
                double wordConfidence = word.Confidence;

                // Font information (when available)
                if (word.Font != null)
                {
                    string fontName = word.Font.FontName;
                    double fontSize = word.Font.FontSize;
                    bool isBold = word.Font.IsBold;
                    bool isItalic = word.Font.IsItalic;
                }

                foreach (var character in word.Characters)
                {
                    // Character-level analysis
                    string charText = character.Text;
                    double charConfidence = character.Confidence;

                    // Alternative character choices for spell-checking
                    OcrResult.Choice[] alternatives = character.Choices;
                }
            }
        }
    }
}
using System;
using IronOcr;
using IronSoftware.Drawing;

// Configure with barcode support
IronTesseract ocr = new IronTesseract
{
    Configuration = { ReadBarCodes = true }
};

using OcrInput input = new OcrInput();

// Process multi-page document
int[] pageIndices = { 1, 2 };
input.LoadImageFrames(@"img\Potter.tiff", pageIndices);

OcrResult result = ocr.Read(input);

// Navigate the complete results hierarchy
foreach (var page in result.Pages)
{
    // Page-level data
    int pageNumber = page.PageNumber;
    string pageText = page.Text;
    int pageWordCount = page.WordCount;

    // Extract page elements
    OcrResult.Barcode[] barcodes = page.Barcodes;
    AnyBitmap pageImage = page.ToBitmap();
    double pageWidth = page.Width;
    double pageHeight = page.Height;

    foreach (var paragraph in page.Paragraphs)
    {
        // Paragraph properties
        int paragraphNumber = paragraph.ParagraphNumber;
        string paragraphText = paragraph.Text;
        double paragraphConfidence = paragraph.Confidence;
        var textDirection = paragraph.TextDirection;

        foreach (var line in paragraph.Lines)
        {
            // Line details including baseline information
            string lineText = line.Text;
            double lineConfidence = line.Confidence;
            double baselineAngle = line.BaselineAngle;
            double baselineOffset = line.BaselineOffset;

            foreach (var word in line.Words)
            {
                // Word-level data
                string wordText = word.Text;
                double wordConfidence = word.Confidence;

                // Font information (when available)
                if (word.Font != null)
                {
                    string fontName = word.Font.FontName;
                    double fontSize = word.Font.FontSize;
                    bool isBold = word.Font.IsBold;
                    bool isItalic = word.Font.IsItalic;
                }

                foreach (var character in word.Characters)
                {
                    // Character-level analysis
                    string charText = character.Text;
                    double charConfidence = character.Confidence;

                    // Alternative character choices for spell-checking
                    OcrResult.Choice[] alternatives = character.Choices;
                }
            }
        }
    }
}
Imports System
Imports IronOcr
Imports IronSoftware.Drawing

' Configure with barcode support
Private ocr As New IronTesseract With {
	.Configuration = { ReadBarCodes = True }
}

Private OcrInput As using

' Process multi-page document
Private pageIndices() As Integer = { 1, 2 }
input.LoadImageFrames("img\Potter.tiff", pageIndices)

Dim result As OcrResult = ocr.Read(input)

' Navigate the complete results hierarchy
For Each page In result.Pages
	' Page-level data
	Dim pageNumber As Integer = page.PageNumber
	Dim pageText As String = page.Text
	Dim pageWordCount As Integer = page.WordCount

	' Extract page elements
	Dim barcodes() As OcrResult.Barcode = page.Barcodes
	Dim pageImage As AnyBitmap = page.ToBitmap()
	Dim pageWidth As Double = page.Width
	Dim pageHeight As Double = page.Height

	For Each paragraph In page.Paragraphs
		' Paragraph properties
		Dim paragraphNumber As Integer = paragraph.ParagraphNumber
		Dim paragraphText As String = paragraph.Text
		Dim paragraphConfidence As Double = paragraph.Confidence
		Dim textDirection = paragraph.TextDirection

		For Each line In paragraph.Lines
			' Line details including baseline information
			Dim lineText As String = line.Text
			Dim lineConfidence As Double = line.Confidence
			Dim baselineAngle As Double = line.BaselineAngle
			Dim baselineOffset As Double = line.BaselineOffset

			For Each word In line.Words
				' Word-level data
				Dim wordText As String = word.Text
				Dim wordConfidence As Double = word.Confidence

				' Font information (when available)
				If word.Font IsNot Nothing Then
					Dim fontName As String = word.Font.FontName
					Dim fontSize As Double = word.Font.FontSize
					Dim isBold As Boolean = word.Font.IsBold
					Dim isItalic As Boolean = word.Font.IsItalic
				End If

				For Each character In word.Characters
					' Character-level analysis
					Dim charText As String = character.Text
					Dim charConfidence As Double = character.Confidence

					' Alternative character choices for spell-checking
					Dim alternatives() As OcrResult.Choice = character.Choices
				Next character
			Next word
		Next line
	Next paragraph
Next page
$vbLabelText   $csharpLabel

Özet

IronOCR, Windows, Linux ve Mac platformlarında kesintisiz çalışan Tesseract API uygulaması ile C# geliştiricilerine en gelişmiş çözümleri sunar. IronOCR'un, imkansız belgelerde bile metni doğru okumaktaki yeteneği, onu temel OCR çözümlerinden ayırır.

Kütüphanenin benzersiz özellikleri arasında entegre barkod okuma ve sonuçları arama yapılabilir PDF'ler veya HOCR HTML olarak dışa aktarma yeteneği yer alır, bu yetenekler standart Tesseract uygulamalarında mevcut değildir.

İleriye Bakış

IronOCR konusunda ustalaşmaya devam etmek için:

Kaynak Kod İndir

Uygulamalarınızda C# OCR resimden metin dönüşümü uygulamaya hazır mısınız? IronOCR İndir ve bugün ücretsiz denemeye başlayın.

Sıkça Sorulan Sorular

Görüntüleri Tesseract kullanmadan C#'da metne nasıl dönüştürebilirim?

IronOCR'u kullanarak Tesseract'a ihtiyaç duymadan görüntüleri C#'da metne dönüştürebilirsiniz. IronOCR, doğrudan metin dönüştürme işlemi yapan yerleşik yöntemler ile süreci basitleştirir.

Düşük kaliteli görüntülerde OCR doğruluğunu nasıl artırabilirim?

IronOCR, eğim düzeltme ve gürültü azaltma yaparak düşük kaliteli görüntüleri iyileştirmek için Input.Deskew() ve Input.DeNoise() gibi görüntü filtreleri sunar, böylece OCR doğruluğunu önemli ölçüde artırır.

C#'da çok sayfalı bir belgeden metin çıkarmak için adımlar nelerdir?

Çok sayfalı belgelerden metin çıkarmak için IronOCR, her sayfayı PDF'ler için LoadPdf() gibi yöntemlerle yüklemenize ve işlem yapmanıza olanak tanır veya TIFF dosyalarını işleyerek her sayfayı etkin bir şekilde metne dönüştürür.

Bir görüntüden aynı anda barkodlar ve metin okuyabilir miyim?

Evet, IronOCR tek bir görüntüden hem metin hem de barkod okuyabilir. Barkod okumasını ocr.Configuration.ReadBarCodes = true ile etkinleştirebilir ve hem metin hem de barkod verilerini çıkarabilirsiniz.

Birden fazla dilde belgeleri işlemek için OCR'ı nasıl ayarlayabilirim?

IronOCR, 125'ten fazla dili destekler ve birincil dili ocr.Language özelliği ile ayarlamanıza ve çok dilli belge işleme için ek diller ocr.AddSecondaryLanguage() ile eklemenize olanak tanır.

Farklı formatlarda OCR sonuçlarını dışa aktarmak için hangi yöntemler mevcut?

IronOCR, OCR sonuçlarını dışa aktarmak için SaveAsSearchablePdf() ile PDF'ler, SaveAsTextFile() ile düz metin ve SaveAsHocrFile() ile HOCR HTML formatı gibi çeşitli yöntemler sunar.

Büyük resim dosyaları için OCR işlem hızını nasıl optimize edebilirim?

OCR işlem hızını optimize etmek için, daha hızlı dil tanıma için IronOCR'un OcrLanguage.EnglishFast dilini kullanın ve işlem süresini azaltmak için System.Drawing.Rectangle kullanarak OCR için belirli bölgeler tanımlayın.

Korunan PDF dosyaları için OCR işleme nasıl yapılır?

Korunan PDF'lerle uğraşırken, doğru parola ile birlikte LoadPdf() yöntemini kullanın. IronOCR, OCR işleme için görüntü tabanlı PDF'leri otomatik olarak görüntülere dönüştürür.

OCR sonuçları doğru değilse ne yapmalıyım?

OCR sonuçları doğru değilse, IronOCR'un Input.Deskew() ve Input.DeNoise() gibi görüntü iyileştirme özelliklerini kullanmayı ve doğru dil paketlerinin yüklü olduğundan emin olun.

OCR işlemini belirli karakterleri dışlamak için özelleştirebilir miyim?

Evet, IronOCR, belirli karakterleri hariç tutmak için BlackListCharacters özelliğini kullanarak OCR işlemini özelleştirmenize olanak tanır, böylece yalnızca ilgili metne odaklanarak doğruluğu ve işlem hızını artırır.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Chief Technology Officer

Jacob Mellor, Iron Software'in Teknoloji Müdürü ve C# PDF teknolojisinin öncüsü olan vizyoner bir mühendis. Iron Software’in temel kod tabanının ilk geliştiricisi olarak, şirketin ürün mimarisini kuruluşundan bu yana şekillendirdi ve CEO Cameron Rimington ile birlikte NASA, Tesla ve ...

Daha Fazlasını Oku
İnceleyen
Jeff Fritz
Jeffrey T. Fritz
Baş Program Yöneticisi - .NET Topluluk Ekibi
Jeff, aynı zamanda .NET ve Visual Studio ekipleri için Baş Program Yöneticisi'dir. Microsoft geliştirici etkinlikleri (Microsoft Build, Microsoft Ignite, .NET Conf, Microsoft MVP Summit) için atölye çalışmaları, sunumlar yazar ve içerik planlar ve haftada iki kez yayınlanan 'Fritz ve Arkadaşları' canlı yayınının ev sahibidir.
Başlamaya Hazır mısınız?
Nuget İndirmeler 5,585,834 | Sürüm: 2026.4 just released
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronOcr
örnekleri çalıştır resminizin aranabilir metne donuşünü izleyin.