Wie man mit dem Aspose.OCR FOSS Core API in .NET arbeitet

Wie man mit dem Aspose.OCR FOSS Core API in .NET arbeitet

Aspose.OCR FOSS für .NET erkennt Text in Rasterbildern und PDF-Dokumenten über einen kleinen Kern API: AsposeOcr, OcrInput, OcrOutput und RecognitionResult. Dieses Handbuch führt durch die Installation des Pakets und die end-to-end-Verwendung dieses Kern API.

Schritt-für-Schritt-Anleitung

Schritt 1: Paket installieren

dotnet add package Aspose.OCR.FOSS

Schritt 2: Namespace importieren

Fügen Sie den Aspose.OCR Namespace zu jeder Quellcodedatei hinzu, die AsposeOcr, OcrInput oder RecognitionResult aufruft:

using Aspose.OCR;

Dieser einzelne Namespace stellt AsposeOcr, OcrInput, OcrOutput, InputType und RecognitionResult bereit.


Schritt 3: Erstelle ein OcrInput und erkenne ein Bild

Konstruiere ein AsposeOcr, erstelle ein OcrInput mit InputType.SingleImage, stelle eine Datei mit OcrInput.Add() in die Warteschlange und rufe AsposeOcr.Recognize() auf.

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

Schritt 4: Einzelne Zeilen und Begrenzungsrahmen lesen

Jeder RecognitionResult.LinesResult Eintrag in RecognitionLinesResult enthält den Text einer Zeile (TextInLine) und dessen Pixelkoordinaten-Begrenzungsrahmen (Line).

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

Schritt 5: Erkenne ein mehrseitiges PDF

Für InputType.PDF liefert AsposeOcr.Recognize() pro Seite ein RecognitionResult in Quellreihenfolge.

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

Allgemeine Probleme und Lösungen

NotSupportedException beim Aufruf Recognize(). Der OcrInput wurde mit einem Eingabetyp erstellt, der nicht InputType.SingleImage or InputType.PDF. Nur diese beiden Eingabetypen werden unterstützt.

FileNotFoundException beim Aufruf Recognize(). Ein Pfad, der über OcrInput.Add() existiert nicht auf dem Datenträger. Validieren Sie den Pfad, bevor Sie aufrufen Add().

ArgumentNullException beim Aufruf Recognize(). null wurde anstelle eines OcrInput Instanz. Erstelle immer eine OcrInput zuerst.

Empty RecognitionLinesResult. Es wurde keine Textzeile erkannt — überprüfen Sie, ob das Quellbild lesbaren, nicht gedrehten lateinischen Text enthält.

Häufig gestellte Fragen

Behält OcrOutput die Dateireihenfolge bei?

Ja. OcrOutput ist eine Liste von RecognitionResult, jeweils pro Bild (oder pro PDF-Seite), in der Reihenfolge, in der die Dateien über OcrInput.Add() hinzugefügt wurden.

Muss ich OcrInput entsorgen?

Ja — OcrInput implementiert IDisposable. Verwenden Sie eine using-Anweisung oder rufen Sie Dispose() explizit auf, sobald die Erkennung abgeschlossen ist.

Kann ich sowohl Bilder als auch PDFs im selben OcrInput verarbeiten?

Nein — jedes OcrInput wird mit einem einzigen InputType (SingleImage oder PDF) erstellt und akzeptiert nur Dateien dieses Typs.

Siehe auch

 Deutsch