Nucleu API
API de bază
Această pagină acoperă ciclul de viață al obiectelor și comportamentul de excepție al celor patru tipuri de bază: AsposeOcr, OcrInput, OcrOutput și RecognitionResult.
Ciclul de viață al OcrInput
OcrInput implementează IDisposable și ar trebui creat într-o instrucțiune using. Constructorul său primește un InputType (InputType.SingleImage sau InputType.PDF), și OcrInput.Add(string) adaugă în coadă un traseu de fișier la un moment dat — aceeași instanță OcrInput poate conține mai multe fișiere de același tip de intrare.
using Aspose.OCR;
using var input = new OcrInput(InputType.SingleImage);
input.Add("page-1.jpg");
input.Add("page-2.png");Recunoașterea și citirea OcrOutput
AsposeOcr.Recognize(OcrInput) returnează un OcrOutput, care este un List<RecognitionResult> — indexabil ca orice listă, cu un RecognitionResult pe imagine (pentru InputType.SingleImage, unul pe fișier adăugat) sau pe pagină PDF (pentru InputType.PDF).
var api = new AsposeOcr();
OcrOutput output = api.Recognize(input);
RecognitionResult first = output[0];RecognitionResult și tipul LinesResult imbricat
RecognitionResult.LinesResult este o clasă imbricată — referiți-vă la ea ca RecognitionResult.LinesResult, nu ca un tip independent. Fiecare RecognitionResult expune:
RecognitionText— textul recunoscut complet pentru acea imagine sau pagină, cu liniile unite prin întreruperi de linie.RecognitionLinesResult— unList<RecognitionResult.LinesResult>, o intrare pentru fiecare linie de text detectată, fiecare cuTextInLine(textul liniei) șiLine(unSystem.Drawing.Rectanglecare oferă coordonatele în pixeli ale acelei linii în imaginea sursă).
RecognitionResult result = output[0];
Console.WriteLine(result.RecognitionText);
foreach (RecognitionResult.LinesResult line in result.RecognitionLinesResult)
{
System.Drawing.Rectangle bounds = line.Line;
Console.WriteLine($"x={bounds.X}, y={bounds.Y}: {line.TextInLine}");
}Excepții
AsposeOcr.Recognize(OcrInput) validează intrarea înainte de a rula recunoașterea:
| Condition | Exception |
|---|---|
input este null | ArgumentNullException |
input are InputType nu este SingleImage sau PDF | NotSupportedException |
O cale adăugată prin OcrInput.Add() nu există pe disc | FileNotFoundException |
Aceste verificări rulează înainte de orice inferență a modelului, astfel încât o intrare incorectă eșuează imediat, în loc de după un pas parțial de recunoaștere.
Sfaturi și cele mai bune practici
OcrOutputeste gol (Count == 0) dacăOcrInputnu are fișiere adăugate — verificațiCountînainte de indexare.RecognitionResult.LinesResulteste imbricat înRecognitionResult; numele tipului de nivel superiorLinesResultsingur nu este un tip rezolvabil în afara acelei imbricări.
Probleme comune
| Problemă | Cauză | Remediere |
|---|---|---|
ArgumentNullException pe Recognize() | null a fost transmis în loc de un OcrInput | Construiește întotdeauna un OcrInput înainte de a apela Recognize() |
NotSupportedException pe Recognize() | OcrInput a fost construit cu un tip de intrare diferit de SingleImage/PDF | Doar InputType.SingleImage și InputType.PDF sunt valide |
FileNotFoundException pe Recognize() | Calea pusă în coadă nu există | Validați căile fișierelor înainte de a apela OcrInput.Add() |
FAQ
Este RecognitionResult.LinesResult propria sa clasă de nivel superior?
Nu — este imbricat în interiorul RecognitionResult. Faceţi referire la el ca RecognitionResult.LinesResult.
Asigură OcrOutput ordinea paginilor pentru PDF-uri?
Da — pentru InputType.PDF, OcrOutput returnează un RecognitionResult pe pagină în ordine sursă.
Ce se întâmplă dacă apelez Recognize() cu un OcrInput gol?
Returnează un OcrOutput cu Count == 0 în loc să arunce.
API Reference Rezumat
| Clasă/Metodă | Descriere: |
|---|---|
AsposeOcr.Recognize(OcrInput) | Validează și recunoaște; aruncă ArgumentNullException, NotSupportedException sau FileNotFoundException în caz de intrare invalidă |
OcrInput.OcrInput(InputType) | Construiește un container de intrare pentru un singur tip de intrare |
OcrInput.Add(string) | Adaugă în coadă o cale de fișier |
OcrInput.Dispose() | Eliberează resurse (prin IDisposable) |
OcrOutput | List<RecognitionResult> returnat de Recognize() |
RecognitionResult.RecognitionText | Text complet recunoscut pentru o imagine/pagină |
RecognitionResult.RecognitionLinesResult | List<RecognitionResult.LinesResult> |
RecognitionResult.LinesResult.TextInLine | Text recunoscut pentru o linie |
RecognitionResult.LinesResult.Line | System.Drawing.Rectangle bounding box pentru o linie |