Core API
Kern-API
Deze pagina behandelt de levenscyclus van objecten en het uitzonderingsgedrag van de vier kern types: AsposeOcr, OcrInput, OcrOutput en RecognitionResult.
Levenscyclus van OcrInput
OcrInput implementeert IDisposable en moet worden aangemaakt in een using statement. De constructor neemt een InputType (InputType.SingleImage of InputType.PDF), en OcrInput.Add(string) zet één bestandspad per keer in de wachtrij — dezelfde OcrInput instantie kan meerdere bestanden van datzelfde invoertype bevatten.
using Aspose.OCR;
using var input = new OcrInput(InputType.SingleImage);
input.Add("page-1.jpg");
input.Add("page-2.png");Herkennen en lezen van OcrOutput
AsposeOcr.Recognize(OcrInput) retourneert een OcrOutput, die een List<RecognitionResult> is — indexeerbaar als elke lijst, met één RecognitionResult per afbeelding (voor InputType.SingleImage, één per toegevoegd bestand) of per PDF-pagina (voor InputType.PDF).
var api = new AsposeOcr();
OcrOutput output = api.Recognize(input);
RecognitionResult first = output[0];RecognitionResult en het geneste LinesResult type
RecognitionResult.LinesResult is een geneste klasse — verwijs ernaar als RecognitionResult.LinesResult, niet als een op zichzelf staand type. Elke RecognitionResult exposeert:
RecognitionText— de volledige herkende tekst voor die afbeelding of pagina, met regels samengevoegd door regeleinden.RecognitionLinesResult— eenList<RecognitionResult.LinesResult>, één item per gedetecteerde tekstreeks, elk metTextInLine(de tekst van de regel) enLine(eenSystem.Drawing.Rectangledie de pixelcoördinaten van die regel in de bronafbeelding geeft).
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}");
}Uitzonderingen
AsposeOcr.Recognize(OcrInput) valideert zijn invoer voordat herkenning wordt uitgevoerd:
| Condition | Exception |
|---|---|
input is null | ArgumentNullException |
De InputType van input is niet SingleImage of PDF | NotSupportedException |
Een pad toegevoegd via OcrInput.Add() bestaat niet op schijf | FileNotFoundException |
Deze controles worden uitgevoerd voordat enige modelinferentie plaatsvindt, zodat een slechte invoer onmiddellijk faalt in plaats van na een gedeeltelijke herkenningspas.
Tips en best practices
OcrOutputis leeg (Count == 0) alsOcrInputgeen bestanden heeft toegevoegd — controleerCountvoordat je indexeert.RecognitionResult.LinesResultis genest binnenRecognitionResult; de top-level type-naamLinesResultalleen is geen oplosbare type buiten die nesting.
Algemene problemen
| Probleem | Oorzaak | Oplossen |
|---|---|---|
ArgumentNullException op Recognize() | null werd doorgegeven in plaats van een OcrInput | Maak altijd een OcrInput aan voordat je Recognize() aanroept |
NotSupportedException op Recognize() | OcrInput werd geconstrueerd met een invoertype anders dan SingleImage/PDF | Alleen InputType.SingleImage en InputType.PDF zijn geldig |
FileNotFoundException op Recognize() | Een wachtrijpad bestaat niet | Valideer bestandspaden voordat je OcrInput.Add() aanroept |
FAQ
Is RecognitionResult.LinesResult een eigen top-level klasse?
Nee — het is genest binnen RecognitionResult. Verwijs ernaar als RecognitionResult.LinesResult.
Garandeert OcrOutput paginavolgorde voor PDF’s?
Ja — voor InputType.PDF retourneert OcrOutput één RecognitionResult per pagina in bronvolgorde.
Wat gebeurt er als ik Recognize() aanroep met een lege OcrInput?
Het retourneert een OcrOutput met Count == 0 in plaats van een fout te werpen.
API Reference Samenvatting
| Klasse/Methode | Beschrijving |
|---|---|
AsposeOcr.Recognize(OcrInput) | Valideert en herkent; gooit ArgumentNullException, NotSupportedException of FileNotFoundException bij ongeldige invoer |
OcrInput.OcrInput(InputType) | Construeert een invoercontainer voor één invoertype |
OcrInput.Add(string) | Zet een bestandspad in de wachtrij |
OcrInput.Dispose() | Geeft bronnen vrij (via IDisposable) |
OcrOutput | List<RecognitionResult> geretourneerd door Recognize() |
RecognitionResult.RecognitionText | Volledige herkende tekst voor één afbeelding/pagina |
RecognitionResult.RecognitionLinesResult | List<RecognitionResult.LinesResult> |
RecognitionResult.LinesResult.TextInLine | Herkende tekst voor één regel |
RecognitionResult.LinesResult.Line | System.Drawing.Rectangle bounding box voor één regel |