Introduktion

Aspose.OCR FOSS för .NET är ett nytt open-source C# bibliotek för att upptäcka och känna igen text i rasterbilder och PDF-dokument. Det är byggt för .NET-utvecklare som behöver textigenkänning utan att förlita sig på en extern OCR-tjänst, en cloud API, eller någon proprietär runtime.

Biblioteket är MIT-licensierat och har inga externa OCR-beroenden: hela igenkännings-pipeline — textlinjedetektion, regionsförfining och igenkänning av latinskt skript — körs lokalt genom tre ONNX-modeller inbäddade direkt i assembly och körs på CPU via Microsoft.ML.OnnxRuntime. Inget modellnedladdningssteg och inget nätverksanrop krävs vid körning.


Vad som ingår

Känna igen bilder och PDF:er via en enda ingångspunkt

AsposeOcr.Recognize() är den enda ingångspunkten för båda inmatningstyperna. En OcrInput byggs med InputType.SingleImage eller InputType.PDF, och en eller flera filsökvägar köas med OcrInput.Add(). För InputType.PDF identifieras varje sida och returneras i källordning.

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

Radsnivåtext och pixelkoordinater

Varje RecognitionResult returnerar hela sidans text via RecognitionText, och de individuella igenkända raderna via RecognitionLinesResult — en lista med RecognitionResult.LinesResult poster, där varje post visar TextInLine och en System.Drawing.Rectangle i Line som ger radens pixelförhållanden i källbilden.

foreach (RecognitionResult.LinesResult line in result.RecognitionLinesResult)
{
    Console.WriteLine($"{line.Line}: {line.TextInLine}");
}

Batchning av flera filer

OcrInput kan innehålla mer än en fil. OcrOutput — returvärdet från Recognize() — är en lista med RecognitionResult, en per bild eller PDF-sida, och bevarar den ursprungliga ordningen som filerna lades till i.

using var input = new OcrInput(InputType.SingleImage);
input.Add("page-1.jpg");
input.Add("page-2.png");
OcrOutput output = api.Recognize(input);

Snabbstart

dotnet add package Aspose.OCR.FOSS

Exemplet nedan känner igen varje sida i en PDF med AsposeOcr.Recognize() och skriver ut varje sidas text tillsammans med dess individuella igenkända rader och deras pixelförhållanden.

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 enda stödda inmatningstyperna är InputType.SingleImage och InputType.PDF; alla andra inmatningstyper kastar NotSupportedException.


Öppen källkod & licensiering

Aspose.OCR FOSS för .NET är släppt under MIT-licensen. Den kan användas, modifieras och distribueras — även i kommersiella produkter — utan extra licensavgifter. Källkoden finns tillgänglig på GitHub.


Komma igång

Relaterade resurser