Hur man arbetar med Aspose.OCR FOSS Core API i .NET
Aspose.OCR FOSS för .NET känner igen text i rasterbilder och PDF-dokument via en liten core API: AsposeOcr, OcrInput, OcrOutput och RecognitionResult. Den här guiden går igenom installation av paketet och hur man använder den core API från början till slut.
Steg-för-steg-guide
Steg 1: Installera paketet
dotnet add package Aspose.OCR.FOSSSteg 2: Importera namnutrymmet
Lägg till Aspose.OCR-namnutrymmet i alla källfiler som anropar AsposeOcr, OcrInput eller RecognitionResult:
using Aspose.OCR;Denna enkla namnrymd exponerar AsposeOcr, OcrInput, OcrOutput, InputType och RecognitionResult.
Steg 3: Bygg en OcrInput och känn igen en bild
Konstruera en AsposeOcr, bygg en OcrInput med InputType.SingleImage, köa en fil med OcrInput.Add() och anropa AsposeOcr.Recognize().
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);Steg 4: Läs enskilda rader och avgränsningsrutor
Varje RecognitionResult.LinesResult post i RecognitionLinesResult innehåller en radtext (TextInLine) och dess pixelkoordinat-avgränsningsruta (Line).
foreach (RecognitionResult.LinesResult line in result.RecognitionLinesResult)
{
System.Drawing.Rectangle bounds = line.Line;
Console.WriteLine($"x={bounds.X}, y={bounds.Y}: {line.TextInLine}");
}Steg 5: Känn igen en flersidig PDF
För InputType.PDF returnerar AsposeOcr.Recognize() en RecognitionResult per sida, i källordning.
using var pdfInput = new OcrInput(InputType.PDF);
pdfInput.Add("document.pdf");
OcrOutput output = api.Recognize(pdfInput);
foreach (RecognitionResult page in output)
{
Console.WriteLine(page.RecognitionText);
}Vanliga problem och lösningar
NotSupportedException vid anrop Recognize(). Den OcrInput konstruerades med en inmatningstyp som inte är InputType.SingleImage or InputType.PDF. Endast de två inmatningstyperna stöds.
FileNotFoundException vid anrop Recognize(). En sökväg som lagts till via OcrInput.Add() finns inte på disken. Validera sökvägen innan du anropar Add().
ArgumentNullException vid anrop Recognize(). null passades istället för en OcrInput instans. Skapa alltid en OcrInput först.
Empty RecognitionLinesResult. Ingen textrad upptäcktes — bekräfta att källbilden innehåller läsbar, icke roterad latinsk skripttext.
Vanliga frågor
Behåller OcrOutput filordningen?
Ja. OcrOutput är en lista med RecognitionResult, en per bild (eller per PDF-sida), i den ordning som filerna lades till via OcrInput.Add().
Behöver jag göra mig av med OcrInput?
Ja — OcrInput implementerar IDisposable. Använd ett using statement eller anropa Dispose() explicit när igenkänning är klar.
Kan jag bearbeta både bilder och PDF-filer i samma OcrInput?
Nej — varje OcrInput byggs med en enda InputType (SingleImage eller PDF) och accepterar endast filer av den typen.