Introductie
Aspose.OCR FOSS voor .NET is een nieuwe open-source C# bibliotheek voor het detecteren en herkennen van tekst in rasterafbeeldingen en PDF-documenten. Het is gebouwd voor .NET-ontwikkelaars die tekstherkenning nodig hebben zonder te afhankelijk te zijn van een externe OCR-service, een cloud-API, of enige propriëtaire runtime.
De bibliotheek is gelicentieerd onder de MIT-licentie en heeft geen externe OCR-afhankelijkheid: de volledige herkenningspipeline — detectie van tekstregels, verfijning van regio’s en herkenning van Latijnse scripts — wordt lokaal uitgevoerd via drie ONNX-modellen die direct in de assembly zijn ingebed en op de CPU worden uitgevoerd via Microsoft.ML.OnnxRuntime. Er is geen model-downloadstap en geen netwerk-aanroep nodig tijdens runtime.
Wat er inbegrepen is
Afbeeldingen en PDF’s herkennen via één toegangspunt
AsposeOcr.Recognize() is het enige toegangspunt voor beide invoertypen. Een OcrInput wordt gebouwd met InputType.SingleImage of InputType.PDF, en één of meer bestandspaden worden in de wachtrij geplaatst met OcrInput.Add(). Voor InputType.PDF wordt elke pagina herkend en geretourneerd in de oorspronkelijke volgorde.
using Aspose.OCR;
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);
Tekst op regelniveau en pixelcoördinaten
Elke RecognitionResult retourneert de volledige paginatekst via RecognitionText, en de individuele herkende regels via RecognitionLinesResult — een lijst van RecognitionResult.LinesResult items, elk met TextInLine en een System.Drawing.Rectangle in Line die de pixelcoördinaten van die regel in de bronafbeelding geven.
foreach (RecognitionResult.LinesResult line in result.RecognitionLinesResult)
{
Console.WriteLine($"{line.Line}: {line.TextInLine}");
}
Meerdere bestanden batchen
OcrInput kan meer dan één bestand bevatten. OcrOutput — de terugkeerwaarde van Recognize() — is een lijst van RecognitionResult, één per afbeelding of PDF-pagina, waarbij de oorspronkelijke volgorde waarin de bestanden werden toegevoegd behouden blijft.
using var input = new OcrInput(InputType.SingleImage);
input.Add("page-1.jpg");
input.Add("page-2.png");
OcrOutput output = api.Recognize(input);
Snelstart
dotnet add package Aspose.OCR.FOSSHet onderstaande voorbeeld herkent elke pagina van een PDF met AsposeOcr.Recognize() en drukt de tekst van elke pagina af, samen met de individuele herkende regels en hun pixelcoördinaten.
using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.PDF);
input.Add("document.pdf");
OcrOutput output = api.Recognize(input);
foreach (RecognitionResult page in output)
{
Console.WriteLine(page.RecognitionText);
foreach (RecognitionResult.LinesResult line in page.RecognitionLinesResult)
{
Console.WriteLine($"{line.Line}: {line.TextInLine}");
}
}
De enige ondersteunde invoertypen zijn InputType.SingleImage en InputType.PDF; elk ander invoertype veroorzaakt NotSupportedException.
Open source & licenties
Aspose.OCR FOSS voor .NET wordt uitgebracht onder de MIT-licentie. Het kan worden gebruikt, aangepast en opnieuw gedistribueerd — inclusief in commerciële producten — zonder extra licentiekosten. De broncode is beschikbaar op GitHub.