Übersicht der Funktionen
Übersicht der Funktionen
Diese Seite führt die Erkennungs API der Bibliothek ein und die Fähigkeiten, die an anderer Stelle in diesem Leitfaden ausführlich behandelt werden. AsposeOcr ist der Einstiegspunkt für die gesamte Bibliothek. Ihre Recognize()-Methode akzeptiert ein OcrInput und gibt ein OcrOutput zurück — eine Liste von RecognitionResult, jeweils für ein Bild oder eine PDF-Seite.
Einzelbild- und PDF-Erkennung
OcrInput wird mit einem InputType erstellt — InputType.SingleImage für ein Rasterbild oder InputType.PDF für ein PDF-Dokument. Dateien werden mit OcrInput.Add() in die Warteschlange gestellt. Das Entsorgen von OcrInput löscht nur die in ihm gehaltenen Dateipfade aus der Warteschlange.
using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.PDF);
input.Add("document.pdf");
OcrOutput output = api.Recognize(input);Erkennungsergebnisse
Jedes RecognitionResult stellt RecognitionText (den vollständig erkannten Seitentext) und RecognitionLinesResult (eine Liste von RecognitionResult.LinesResult, jeweils mit TextInLine und einer System.Drawing.Rectangle Begrenzungsbox in Line) bereit.
foreach (RecognitionResult page in output)
{
Console.WriteLine(page.RecognitionText);
foreach (RecognitionResult.LinesResult line in page.RecognitionLinesResult)
{
Console.WriteLine($"{line.Line}: {line.TextInLine}");
}
}Stapelverarbeitung
OcrInput akzeptiert mehr als eine Datei desselben Eingabetyps. OcrOutput bewahrt die Reihenfolge, in der die Dateien hinzugefügt wurden, mit einem RecognitionResult pro Datei (oder pro PDF-Seite).
using var input = new OcrInput(InputType.SingleImage);
input.Add("page-1.jpg");
input.Add("page-2.png");
OcrOutput output = api.Recognize(input);Tipps und bewährte Vorgehensweisen
- Verwerfen Sie
OcrInput(oder verpacken Sie es in einerusing-Anweisung), sobald die Erkennung abgeschlossen ist, um die zugrunde liegenden Ressourcen freizugeben. - Nur
InputType.SingleImageundInputType.PDFwerden unterstützt — jeder andere Eingabetyp löstNotSupportedExceptionaus. - Die Erkennung unterstützt ausschließlich das lateinische Schriftsystem; es gibt keinen Sprachauswahl-Parameter.
- PDF-Seiten werden intern vor der Erkennung gerendert, sodass kein separater PDF-zu-Bild-Konvertierungsschritt erforderlich ist.
Häufige Probleme
| Problem | Ursache | Lösung |
|---|---|---|
NotSupportedException auf Recognize() | Ein OcrInput wurde mit einem nicht unterstützten InputType konstruiert. | Verwenden Sie nur InputType.SingleImage oder InputType.PDF |
FileNotFoundException auf Recognize() | Ein Pfad, der über OcrInput.Add() hinzugefügt wurde, existiert nicht. | Überprüfen Sie den Dateipfad, bevor Sie Add() aufrufen |
Leeres RecognitionLinesResult | Keine Textzeile wurde in diesem Bild oder auf dieser Seite erkannt | Bestätigen Sie, dass das Quellbild lesbaren, nicht gedrehten Text in lateinischer Schrift enthält |
FAQ
Welche Sprachen erkennt Aspose.OCR FOSS für .NET?
Lateinisch-schriftlicher Text. Das eingebettete Erkennungsmodell deckt keine nicht-lateinischen Schriften ab.
Benötigt es eine Internetverbindung?
Nein. Alle drei ONNX-Modelle (Detektion, Verfeinerung, Erkennung) sind in die Assembly eingebettet und laufen lokal über Microsoft.ML.OnnxRuntime.
Kann ich mehrere Dateien in einem Aufruf erkennen?
Ja — füge mehrere Dateien zum selben OcrInput hinzu, bevor du AsposeOcr.Recognize() aufrufst. Das zurückgegebene OcrOutput bewahrt deren Reihenfolge.
Auf welchen Plattformen läuft dies?
Es zielt auf .NET Standard 2.0, .NET Framework 4.8 und .NET 8.0+ ab. Die Bildverarbeitung erfordert Windows, weil sie von System.Drawing.Common abhängt.
API Reference Zusammenfassung
| Klasse/Methode | Beschreibung |
|---|---|
AsposeOcr.Recognize(OcrInput) | Einstiegspunkt: erkennt Text und gibt ein OcrOutput zurück |
OcrInput.Add(string) | Stellt einen Dateipfad zur Erkennung in die Warteschlange |
InputType | Enum: SingleImage oder PDF |
RecognitionResult.RecognitionText | Vollständiger erkannter Seitentext |
RecognitionResult.RecognitionLinesResult | Liste der erkannten Zeilen mit Begrenzungsrahmen |
RecognitionResult.LinesResult.TextInLine | Erkannter Text für eine Zeile |
RecognitionResult.LinesResult.Line | Pixelkoordinaten-Begrenzungsrahmen für eine Zeile |