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 — een List<RecognitionResult.LinesResult>, één item per gedetecteerde tekstreeks, elk met TextInLine (de tekst van de regel) en Line (een System.Drawing.Rectangle die 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:

ConditionException
input is nullArgumentNullException
De InputType van input is niet SingleImage of PDFNotSupportedException
Een pad toegevoegd via OcrInput.Add() bestaat niet op schijfFileNotFoundException

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

  • OcrOutput is leeg (Count == 0) als OcrInput geen bestanden heeft toegevoegd — controleer Count voordat je indexeert.
  • RecognitionResult.LinesResult is genest binnen RecognitionResult; de top-level type-naam LinesResult alleen is geen oplosbare type buiten die nesting.

Algemene problemen

ProbleemOorzaakOplossen
ArgumentNullException op Recognize()null werd doorgegeven in plaats van een OcrInputMaak altijd een OcrInput aan voordat je Recognize() aanroept
NotSupportedException op Recognize()OcrInput werd geconstrueerd met een invoertype anders dan SingleImage/PDFAlleen InputType.SingleImage en InputType.PDF zijn geldig
FileNotFoundException op Recognize()Een wachtrijpad bestaat nietValideer 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/MethodeBeschrijving
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)
OcrOutputList<RecognitionResult> geretourneerd door Recognize()
RecognitionResult.RecognitionTextVolledige herkende tekst voor één afbeelding/pagina
RecognitionResult.RecognitionLinesResultList<RecognitionResult.LinesResult>
RecognitionResult.LinesResult.TextInLineHerkende tekst voor één regel
RecognitionResult.LinesResult.LineSystem.Drawing.Rectangle bounding box voor één regel

Zie ook

 Nederlands