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.FOSSPasul 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.