Cum să lucraţi cu Aspose.OCR FOSS Core API în .NET

Cum să lucraţi cu Aspose.OCR FOSS Core API în .NET

Aspose.OCR FOSS pentru .NET recunoaște text în imagini raster și documente PDF printr-un mic nucleu API: AsposeOcr, OcrInput, OcrOutput și RecognitionResult. Acest ghid explică instalarea pachetului și utilizarea acelui nucleu API de la început până la sfârșit.

Ghid pas cu pas

Pasul 1: Instalați pachetul

dotnet add package Aspose.OCR.FOSS

Pasul 2: Importați spațiul de nume

Adăugați spațiul de nume Aspose.OCR în orice fișier sursă care apelează AsposeOcr, OcrInput sau RecognitionResult:

using Aspose.OCR;

Acest singur spațiu de nume expune AsposeOcr, OcrInput, OcrOutput, InputType și RecognitionResult.


Pasul 3: Construiește un OcrInput și Recunoaște o imagine

Construiește un AsposeOcr, creează un OcrInput cu InputType.SingleImage, înfileiază un fișier cu OcrInput.Add() și apelează AsposeOcr.Recognize().

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);

Pasul 4: Citește linii individuale și cutii de delimitare

Fiecare intrare RecognitionResult.LinesResult în RecognitionLinesResult conține textul unei linii (TextInLine) și cutia de delimitare cu coordonate de pixeli (Line).

foreach (RecognitionResult.LinesResult line in result.RecognitionLinesResult)
{
    System.Drawing.Rectangle bounds = line.Line;
    Console.WriteLine($"x={bounds.X}, y={bounds.Y}: {line.TextInLine}");
}

Pasul 5: Recunoaște un PDF cu mai multe pagini

Pentru InputType.PDF, AsposeOcr.Recognize() returnează un RecognitionResult pe pagină, în ordinea sursei.

using var pdfInput = new OcrInput(InputType.PDF);
pdfInput.Add("document.pdf");
OcrOutput output = api.Recognize(pdfInput);

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

Probleme comune și remedii

NotSupportedException la apelare Recognize(). The OcrInput a fost construit cu un tip de intrare diferit de InputType.SingleImage or InputType.PDF. Sunt acceptate doar acele două tipuri de intrare.

FileNotFoundException la apelare Recognize(). O cale adăugată prin OcrInput.Add() nu există pe disc. Validaţi calea înainte de a apela Add().

ArgumentNullException la apelare Recognize(). null a fost transmis în loc de un OcrInput instanță. Întotdeauna construiește un OcrInput mai întâi.

Empty RecognitionLinesResult. Nu a fost detectată nicio linie de text — confirmă că imaginea sursă conține text lizibil, nerotit, în script latin.

Întrebări frecvente

Păstrează OcrOutput ordinea fișierelor?

Da. OcrOutput este o listă de RecognitionResult, una per imagine (sau per pagină PDF), în ordinea în care fișierele au fost adăugate prin OcrInput.Add().

Trebuie să eliberez OcrInput?

Da — OcrInput implementează IDisposable. Utilizați o declarație using sau apelați Dispose() explicit odată ce recunoașterea este completă.

Pot procesa atât imagini, cât și PDF-uri în același OcrInput?

Nu — fiecare OcrInput este construit cu un singur InputType (SingleImage sau PDF) și acceptă doar fișiere de acel tip.

Vezi și:

 Română