Nucleo API

API principale

Questa pagina descrive il ciclo di vita degli oggetti e il comportamento delle eccezioni dei quattro tipi principali: AsposeOcr, OcrInput, OcrOutput e RecognitionResult.


Ciclo di vita di OcrInput

OcrInput implementa IDisposable e dovrebbe essere creato in una dichiarazione using. Il suo costruttore accetta un InputType (InputType.SingleImage o InputType.PDF), e OcrInput.Add(string) accoda un percorso file alla volta — la stessa istanza di OcrInput può contenere più file di quel medesimo tipo di input.

using Aspose.OCR;

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

Riconoscere e leggere OcrOutput

AsposeOcr.Recognize(OcrInput) restituisce un OcrOutput, che è un List<RecognitionResult> — indicizzabile come qualsiasi lista, con un RecognitionResult per immagine (per InputType.SingleImage, uno per file aggiunto) o per pagina PDF (per InputType.PDF).

var api = new AsposeOcr();
OcrOutput output = api.Recognize(input);
RecognitionResult first = output[0];

RecognitionResult e il tipo nidificato LinesResult

RecognitionResult.LinesResult è una classe nidificata — fai riferimento a essa come RecognitionResult.LinesResult, non come un tipo autonomo. Ogni RecognitionResult espone:

  • RecognitionText — il testo riconosciuto completo per quell’immagine o pagina, con le righe unite da interruzioni di linea.
  • RecognitionLinesResult — un List<RecognitionResult.LinesResult>, una voce per ogni riga di testo rilevata, ciascuna con TextInLine (il testo della riga) e Line (un System.Drawing.Rectangle che fornisce le coordinate pixel di quella riga nell’immagine di origine).
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}");
}

Eccezioni

AsposeOcr.Recognize(OcrInput) convalida il suo input prima di eseguire il riconoscimento:

ConditionException
input è nullArgumentNullException
input InputType non è SingleImage né PDFNotSupportedException
Un percorso aggiunto tramite OcrInput.Add() non esiste sul discoFileNotFoundException

Questi controlli vengono eseguiti prima di qualsiasi inferenza del modello, quindi un input errato fallisce immediatamente anziché dopo un passaggio di riconoscimento parziale.


Suggerimenti e migliori pratiche

  • OcrOutput è vuoto (Count == 0) se OcrInput non ha file aggiunti — controlla Count prima dell’indicizzazione.
  • RecognitionResult.LinesResult è nidificato all’interno di RecognitionResult; il nome del tipo di livello superiore LinesResult da solo non è un tipo risolvibile al di fuori di tale nidificazione.

Problemi comuni

ProblemaCausaCorreggi
ArgumentNullException su Recognize()È stato passato null invece di un OcrInputCostruisci sempre un OcrInput prima di chiamare Recognize()
NotSupportedException su Recognize()OcrInput è stato costruito con un tipo di input diverso da SingleImage/PDFSolo InputType.SingleImage e InputType.PDF sono validi
FileNotFoundException su Recognize()Il percorso in coda non esisteConvalida i percorsi dei file prima di chiamare OcrInput.Add()

FAQ

È RecognitionResult.LinesResult una propria classe di livello superiore?

No — è annidato all’interno di RecognitionResult. Riferisciti ad esso come RecognitionResult.LinesResult.

OcrOutput garantisce l’ordine delle pagine per i PDF?

Sì — per InputType.PDF, OcrOutput restituisce un RecognitionResult per pagina nell’ordine di origine.

Cosa succede se chiamo Recognize() con un OcrInput vuoto?

Restituisce un OcrOutput con Count == 0 anziché lanciare.


API Reference Riepilogo

Classe/MetodoDescrizione
AsposeOcr.Recognize(OcrInput)Valida e riconosce; lancia ArgumentNullException, NotSupportedException o FileNotFoundException in caso di input non valido
OcrInput.OcrInput(InputType)Costruisce un contenitore di input per un tipo di input
OcrInput.Add(string)Accoda un percorso di file
OcrInput.Dispose()Rilascia le risorse (tramite IDisposable)
OcrOutputList<RecognitionResult> restituito da Recognize()
RecognitionResult.RecognitionTextTesto riconosciuto completo per un’immagine/pagina
RecognitionResult.RecognitionLinesResultList<RecognitionResult.LinesResult>
RecognitionResult.LinesResult.TextInLineTesto riconosciuto per una riga
RecognitionResult.LinesResult.LineSystem.Drawing.Rectangle rettangolo di delimitazione per una riga

Vedi anche

 Italiano