Come lavorare con il Aspose.OCR FOSS Core API in .NET

Come lavorare con il Aspose.OCR FOSS Core API in .NET

Aspose.OCR FOSS per .NET riconosce il testo in immagini raster e documenti PDF attraverso un piccolo core API: AsposeOcr, OcrInput, OcrOutput, e RecognitionResult. Questa guida illustra l’installazione del pacchetto e l’uso di quel core API end to end.

Guida passo-passo

Passo 1: Installa il pacchetto

dotnet add package Aspose.OCR.FOSS

Passo 2: Importa lo spazio dei nomi

Aggiungi lo spazio dei nomi Aspose.OCR a qualsiasi file sorgente che chiama AsposeOcr, OcrInput o RecognitionResult:

using Aspose.OCR;

Questo singolo namespace espone AsposeOcr, OcrInput, OcrOutput, InputType e RecognitionResult.


Passo 3: Costruisci un OcrInput e riconosci un’immagine.

Costruisci un AsposeOcr, crea un OcrInput con InputType.SingleImage, accoda un file con OcrInput.Add() e chiama 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);

Passo 4: Leggi linee individuali e riquadri di delimitazione.

Ogni voce RecognitionResult.LinesResult in RecognitionLinesResult contiene il testo di una linea (TextInLine) e il suo riquadro di delimitazione in coordinate pixel (Line).

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

Passo 5: Riconosci un PDF multipagina.

Per InputType.PDF, AsposeOcr.Recognize() restituisce un RecognitionResult per pagina, nell’ordine di origine.

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

Problemi comuni e soluzioni

NotSupportedException quando si chiama Recognize(). Il OcrInput è stato costruito con un tipo di input diverso da InputType.SingleImage or InputType.PDF. Sono supportati solo quei due tipi di input.

FileNotFoundException quando si chiama Recognize(). Un percorso aggiunto tramite OcrInput.Add() non esiste su disco. Convalida il percorso prima di chiamare Add().

ArgumentNullException quando si chiama Recognize(). null è stato passato invece di un OcrInput istanza. Costruisci sempre una OcrInput prima.

Empty RecognitionLinesResult. Nessuna riga di testo è stata rilevata — conferma che l’immagine di origine contiene testo leggibile, non ruotato, in script latino.

Domande frequenti

Il OcrOutput preserva l’ordine dei file?

Sì. OcrOutput è un elenco di RecognitionResult, uno per immagine (o per pagina PDF), nell’ordine in cui i file sono stati aggiunti tramite OcrInput.Add().

Devo smaltire OcrInput?

Sì — OcrInput implementa IDisposable. Usa un’istruzione using o chiama Dispose() esplicitamente una volta completato il riconoscimento.

Posso elaborare sia immagini che PDF nello stesso OcrInput?

No — ogni OcrInput è costruito con un singolo InputType (SingleImage o PDF) e accetta solo file di quel tipo.

Vedi anche

 Italiano