المقدمة

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.


البدء

الموارد ذات الصلة