Giriş

Aspose.OCR FOSS for .NET, raster görüntülerde ve PDF belgelerinde metin algılamak ve tanımak için yeni bir açık kaynak C# kütüphanesidir. .NET geliştiricileri için, harici bir OCR hizmetine, bir bulut API’e veya herhangi bir tescilli çalışma zamanına bağımlı olmadan metin tanıma ihtiyacı duyanlar için oluşturulmuştur.

Kütüphane MIT lisanslıdır ve harici OCR bağımlılığı yoktur: tüm tanıma hattı — metin satırı algılama, bölge iyileştirme ve Latin alfabesi tanıma — doğrudan derlemeye gömülmüş üç ONNX modeli aracılığıyla yerel olarak, CPU üzerinde Microsoft.ML.OnnxRuntime ile çalıştırılır. Çalışma zamanında model indirme adımı ve ağ çağrısı gerekmez.


Neler Dahildir

Görselleri ve PDF’leri Tek Bir Giriş Noktasından Tanıma

AsposeOcr.Recognize(), her iki giriş türü için tek giriş noktasıdır. Bir OcrInput, InputType.SingleImage ya da InputType.PDF ile oluşturulur ve bir veya daha fazla dosya yolu OcrInput.Add() ile kuyruğa eklenir. InputType.PDF için, her sayfa tanınır ve kaynak sırasıyla geri döndürülür.

using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.SingleImage);
input.Add("scan.png");
RecognitionResult result = api.Recognize(input)[0];
Console.WriteLine(result.RecognitionText);

Satır Düzeyinde Metin ve Piksel Koordinatları

Her RecognitionResult, tam sayfa metnini RecognitionText aracılığıyla döndürür ve bireysel tanınan satırları RecognitionLinesResult aracılığıyla — RecognitionResult.LinesResult girişlerinden oluşan bir liste, her biri TextInLine ve System.Drawing.Rectangle öğesini Line içinde ortaya koyarak o satırın kaynak görüntüdeki piksel koordinatlarını verir.

foreach (RecognitionResult.LinesResult line in result.RecognitionLinesResult)
{
    Console.WriteLine($"{line.Line}: {line.TextInLine}");
}

Birden Çok Dosyayı Toplu İşleme

OcrInput, birden fazla dosya tutabilir. OcrOutput — Recognize()‘nin dönüş değeri — bir RecognitionResult listesi olup, her biri bir görüntü ya da PDF sayfasına karşılık gelir ve dosyaların eklendiği orijinal sıralamayı korur.

using var input = new OcrInput(InputType.SingleImage);
input.Add("page-1.jpg");
input.Add("page-2.png");
OcrOutput output = api.Recognize(input);

Hızlı Başlangıç

dotnet add package Aspose.OCR.FOSS

Aşağıdaki örnek, bir PDF’nin her sayfasını AsposeOcr.Recognize() ile tanır ve her sayfanın metnini, bireysel tanınan satırları ve bunların piksel koordinatlarını birlikte yazdırır.

using Aspose.OCR;

var api = new AsposeOcr();
using var input = new OcrInput(InputType.PDF);
input.Add("document.pdf");

OcrOutput output = api.Recognize(input);

foreach (RecognitionResult page in output)
{
    Console.WriteLine(page.RecognitionText);

    foreach (RecognitionResult.LinesResult line in page.RecognitionLinesResult)
    {
        Console.WriteLine($"{line.Line}: {line.TextInLine}");
    }
}

Desteklenen tek giriş türleri InputType.SingleImage ve InputType.PDF‘dir; başka herhangi bir giriş türü NotSupportedException hatası verir.


Açık Kaynak ve Lisanslama

Aspose.OCR FOSS for .NET MIT lisansı altında yayınlanmıştır. Kullanılabilir, değiştirilebilir ve yeniden dağıtılabilir — ticari ürünler dahil — ek lisans ücretleri olmadan. Kaynak GitHub adresinde mevcuttur.


Başlarken

İlgili Kaynaklar