מבוא

Aspose.OCR FOSS עבור .NET היא ספרייה חדשה בקוד פתוח של C# לזיהוי והכרה של טקסט בתמונות רסטריות ובמסמכי PDF. היא נבנתה עבור מפתחים .NET שזקוקים לזיהוי טקסט ללא תלות בשירות OCR חיצוני, API ענן, או זמן ריצה קנייני.

הספרייה מורשית ברישיון MIT ואין לה תלות ב-OCR חיצוני: כל צינור ההכרה — זיהוי שורות טקסט, שיפור האזור והכרה של כתב לטיני — פועל באופן מקומי באמצעות שלושה מודלים של ONNX המוטמעים ישירות בהרכבה ומבוצעים על המעבד דרך Microsoft.ML.OnnxRuntime. אין צורך בשלב הורדת מודל ולא נדרש קריאת רשת בזמן ריצה.


מה כלול

זיהוי תמונות ו-PDFים דרך נקודת כניסה אחת

AsposeOcr.Recognize() היא נקודת הכניסה היחידה לשני סוגי הקלט. OcrInput נבנית עם InputType.SingleImage או InputType.PDF, ונתיב(ים) קובץ אחד או יותר מתוזמנים עם OcrInput.Add(). עבור InputType.PDF, כל דף מזוהה ומוחזר בסדר המקור.

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

טקסט ברמת שורה וקואורדינטות פיקסל

כל RecognitionResult מחזיר את טקסט הדף המלא דרך RecognitionText, ואת השורות המוכרות בנפרד דרך RecognitionLinesResult — רשימה של ערכי RecognitionResult.LinesResult, שכל אחד חושף TextInLine ו-System.Drawing.Rectangle ב-Line המספקים את קואורדינטות הפיקסלים של השורה בתמונת המקור.

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

קיבוץ קבצים מרובים

OcrInput יכול להכיל יותר מקובץ אחד. OcrOutput — ערך ההחזרה של Recognize() — הוא רשימה של RecognitionResult, אחת לכל תמונה או דף PDF, המשמרת את הסדר המקורי שבו הקבצים נוספו.

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

התחלה מהירה

dotnet add package Aspose.OCR.FOSS

ההדוגמה שלהלן מזהה כל דף של קובץ PDF באמצעות AsposeOcr.Recognize() ומדפיסה את הטקסט של כל דף יחד עם השורות המוכרות בנפרד וקואורדינטות הפיקסלים שלהן.

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

סוגי הקלט הנתמכים היחידים הם InputType.SingleImage ו-InputType.PDF; כל סוג קלט אחר זורק NotSupportedException.


קוד פתוח ורישוי

Aspose.OCR FOSS עבור .NET משוחרר תחת רישיון MIT. ניתן להשתמש בו, לשנותו ולחלקו מחדש — כולל במוצרים מסחריים — ללא עלויות רישוי נוספות. הקוד זמין בGitHub.


התחלה

משאבים קשורים