التعرف الضوئي على الحروف باللغة العربية في C#و.NET

إصدارات أخرى من هذا المستند:

IronOCR هو مكون برمجي C#يسمح لمبرمجي .NET بقراءة النص من الصور ومستندات PDF بـ 126 لغة ، بما في ذلك العربية.

إنها شوكة متطورة من Tesseract ، تم إنشاؤها حصريًا لمطوري .NET وتتفوق بانتظام على محركات Tesseract الأخرى من حيث السرعة والدقة.

محتويات أيرون أو لغات

تحتوي هذه الحزمة على 108 لغة OCR لـ .NET:

  • عربى
  • العربية
  • عربي سريع
  • الأبجدية العربية
  • العربيةالأبجديةالأفضل
  • العربيةالأبجدية

تحميل

حزمة اللغة العربية [العربية]
* Download as الرمز البريدي
* Install with
https://www.nuget.org/packages/IronOcr.Languages.Arabic/'> نوجيت

التركيب

أول شيء يتعين علينا القيام به هو تثبيت حزمة OCR العربية الخاصة بنا على مشروع .NET الخاص بك.

PM> Install-Package IronOCR.Languages.Arabic

مثال رمز

يقرأ مثال كود C#هذا نصًا عربيًا من صورة أو مستند PDF.

//PM> Install-Package IronOcr.Languages.Arabic
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
using (var Input = new OcrInput(@"images\Arabic.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
//PM> Install-Package IronOcr.Languages.Arabic
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
using (var Input = new OcrInput(@"images\Arabic.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
'PM> Install-Package IronOcr.Languages.Arabic
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
Using Input = New OcrInput("images\Arabic.png")
Dim Result = Ocr.Read(Input)
Dim AllText As Var = Result.Text
End Using
VB   C#

لماذا تختار IronOCR؟

IronOCR هي مكتبة برامج .NET سهلة التثبيت وكاملة وموثقة جيدًا.

اختر IronOCR لتحقيق دقة 99.8٪ + OCR دون استخدام أي خدمات ويب خارجية أو رسوم مستمرة أو إرسال مستندات سرية عبر الإنترنت.

لماذا يختار مطورو C#IronOCR على Vanilla Tesseract:

  • تثبيت كملف DLL واحد أو NuGet
  • يشمل لمحركات Tesseract 5 و 4 و 3 خارج الصندوق.
  • دقة 99.8٪ تتفوق بشكل ملحوظ على Tesseract العادية.
  • اشتعلت فيه النيران السرعة و MultiThreading
  • متوافق مع MVC و WebApp و Desktop و Console & Server Application
  • لا يوجد رمز Exes أو C ++ للعمل معه
  • دعم PDF OCR كامل
  • لإجراء OCR ، تقريبًا أي ملف صورة أو PDF
  • دعم كامل. NET Core و Standard و FrameWork
  • انشر على أنظمة تشغيل Windows و Mac و Linux و Azure و Docker و Lambda و AWS
  • قراءة الباركود ورموز QR
  • تصدير OCR إلى XHTML
  • تصدير OCR إلى مستندات PDF قابلة للبحث
  • دعم تعدد
  • تدار جميع اللغات الدولية 126 عبر ملفات NuGet أو OcrData
  • استخراج الصور والإحداثيات والإحصائيات والخطوط. ليس مجرد نص.
  • يمكن استخدامها لإعادة توزيع Tesseract OCR داخل التطبيقات التجارية والخاصة.

يتألق برنامج IronOCR عند العمل مع صور حقيقية ومستندات غير كاملة مثل الصور الفوتوغرافية أو عمليات المسح الضوئي ذات الدقة المنخفضة والتي قد تحتوي على ضوضاء رقمية أو عيوب.

مكتبات OCR المجانية الأخرى لمنصة .NET مثل واجهات برمجة التطبيقات وخدمات الويب .net الأخرى لا تعمل بشكل جيد في حالات الاستخدام الحقيقية هذه.

OCR باستخدام Tesseract 5 - ابدأ الترميز في C #

يوضح نموذج التعليمات البرمجية أدناه مدى سهولة قراءة النص من صورة باستخدام C#أو VB .NET.

OneLiner

string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
VB   C#

شكلي Hello World

// PM> Install-Package IronOCR.Languages.Arabic
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... يمكنك إضافة أي عدد من الصور
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Arabic
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... يمكنك إضافة أي عدد من الصور
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Arabic
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
Using Input = New OcrInput()
Input.AddImage("images/sample.jpeg") var Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

C#PDF OCR

يمكن استخدام نفس الأسلوب بالمثل لاستخراج نص من أي مستند PDF.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// يمكننا أيضًا تحديد أسماء معينة لصفحات PDF من أجل التعرف الضوئي على الحروف

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// صفحة واحدة لكل صفحة من صفحات PDF
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// يمكننا أيضًا تحديد أسماء معينة لصفحات PDF من أجل التعرف الضوئي على الحروف

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// صفحة واحدة لكل صفحة من صفحات PDF
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' يمكننا أيضًا تحديد أسماء معينة لصفحات PDF من أجل التعرف الضوئي على الحروف

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' صفحة واحدة لكل صفحة من صفحات PDF
End Using
VB   C#

OCR لـ TIFFs متعددة الصفحات

OCR Reading TIFF بتنسيق ملف يتضمن مستندات متعددة الصفحات يمكن أيضًا تحويل TIFF مباشرةً إلى ملف PDF بنص يمكن البحث فيه.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("multi - frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("multi - frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic

Using Input = New OcrInput()
input.AddMultiFrameTiff("multi - frame.tiff")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

الباركود و QR

ميزة فريدة من نوعها لـ IronOCR هي أنه يمكنه قراءة الرموز الشريطية ورموز QR من المستندات أثناء المسح بحثًا عن نص. تعطي مثيلات فئة OcrResult.OcrBarcode للمطور معلومات مفصلة حول كل رمز شريطي تم مسحه ضوئيًا.

// using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// النوع والموقع يتعرضان أيضًا
}
}
// using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// النوع والموقع يتعرضان أيضًا
}
}
' using IronOcr;
Dim Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True

Using input = New OcrInput()
input.AddImage("img/Barcode.png")
Dim Result = Ocr.Read(input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
' النوع والموقع يتعرضان أيضًا
Next Barcode
End Using
VB   C#

التعرف الضوئي على الحروف في مناطق محددة من الصور

توفر جميع طرق المسح والقراءة الخاصة بـ IronOCR القدرة على تحديد أي جزء من الصفحة أو الصفحات التي نرغب في قراءة النص منها بالضبط. يعد هذا مفيدًا جدًا عندما ننظر إلى النماذج الموحدة ويمكن أن يوفر الكثير من الوقت ويحسن الكفاءة.

لاستخدام مناطق المحاصيل ، سنحتاج إلى إضافة مرجع نظام إلى System.Drawing حتى نتمكن من استخدام كائن System.Drawing.Rectangle .

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// الأبعاد بالبكسل

Input.Add("document.png", ContentArea);

var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// الأبعاد بالبكسل

Input.Add("document.png", ContentArea);

var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic

Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
	.X = 215,
	.Y = 1250,
	.Height = 280,
	.Width = 1335
}
' الأبعاد بالبكسل

Input.Add("document.png", ContentArea)

Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

OCR لعمليات المسح منخفضة الجودة

يمكن لفئة IronOCR OcrInput إصلاح عمليات المسح التي لا تستطيع Tesseract العادية قراءتها.

using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // يصلح التشويش الرقمي وضعف المسح
Input.Deskew(); // إصلاحات الدوران والمنظور
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // يصلح التشويش الرقمي وضعف المسح
Input.Deskew(); // إصلاحات الدوران والمنظور
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' يصلح التشويش الرقمي وضعف المسح
Input.Deskew() ' إصلاحات الدوران والمنظور
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

تصدير نتائج OCR كملف PDF قابل للبحث

صورة إلى PDF مع سلاسل نصية قابلة للنسخ. يمكن فهرستها بواسطة محركات البحث وقواعد البيانات.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var Input = new OcrInput()){
input.Title = "Quarterly Report"
input.AddImage("image1.jpeg");
input.AddImage("image2.png");
input.AddImage("image3.gif");

var Result = Ocr.Read(input);
Result.SaveAsSearchablePdf("searchable.pdf")
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var Input = new OcrInput()){
input.Title = "Quarterly Report"
input.AddImage("image1.jpeg");
input.AddImage("image2.png");
input.AddImage("image3.gif");

var Result = Ocr.Read(input);
Result.SaveAsSearchablePdf("searchable.pdf")
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic

Using Input = New OcrInput()
input.Title = "Quarterly Report" input.AddImage("image1.jpeg")
input.AddImage("image2.png")
input.AddImage("image3.gif")

Dim Result = Ocr.Read(input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#

TIFF لتحويل PDF القابل للبحث

قم بتحويل مستند TIFF (أو أي مجموعة من ملفات الصور) مباشرةً إلى ملف PDF يمكن البحث فيه والذي يمكن فهرسته عن طريق الإنترانت وموقع الويب ومحركات بحث Google.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("example.tiff")
var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("example.tiff")
var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic

Using Input = New OcrInput()
input.AddMultiFrameTiff("example.tiff") var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#

تصدير نتائج OCR بتنسيق HTML

صورة OCR لتحويل XHTML.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
using (var Input = new OcrInput()){
input.Title = "Html Title"
input.AddImage("image1.jpeg");
var Result = Ocr.Read(input);
Result.SaveAsHocrFile("results.html");
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
using (var Input = new OcrInput()){
input.Title = "Html Title"
input.AddImage("image1.jpeg");
var Result = Ocr.Read(input);
Result.SaveAsHocrFile("results.html");
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
Using Input = New OcrInput()
input.Title = "Html Title" input.AddImage("image1.jpeg")
Dim Result = Ocr.Read(input)
Result.SaveAsHocrFile("results.html")
End Using
VB   C#

مرشحات تحسين الصور OCR

يوفر IronOCR مرشحات فريدة لكائنات OcrInput لتحسين أداء التعرف الضوئي على الحروف.

مثال رمز تحسين الصورة

يجعل صور إدخال OCR أعلى جودة لإنتاج نتائج OCR أفضل وأسرع.

using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // يصلح التشويش الرقمي وضعف المسح
Input.Deskew(); // إصلاحات الدوران والمنظور
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // يصلح التشويش الرقمي وضعف المسح
Input.Deskew(); // إصلاحات الدوران والمنظور
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' يصلح التشويش الرقمي وضعف المسح
Input.Deskew() ' إصلاحات الدوران والمنظور
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

قائمة مرشحات الصور OCR

تشمل مرشحات الإدخال لتحسين أداء التعرف الضوئي على الحروف المضمنة في IronOCR ما يلي:

  • OcrInput.Rotate (درجات مزدوجة) - لتدوير الصور بعدد من الدرجات في اتجاه عقارب الساعة. لعكس اتجاه عقارب الساعة ، استخدم الأرقام السالبة.
  • OcrInput.Binarize () - يقوم مرشح الصور هذا بتحويل كل بكسل إلى الأسود أو الأبيض بدون أرضية وسطى. قد يحسن حالات أداء التعرف الضوئي على الحروف ذات التباين المنخفض جدًا للنص في الخلفية.
  • OcrInput.ToGrayScale () - يحول مرشح الصور هذا كل بكسل إلى ظل من التدرج الرمادي. من غير المحتمل تحسين دقة التعرف الضوئي على الحروف ولكن قد يحسن السرعة
  • OcrInput.Contrast () - يزيد التباين تلقائيًا. يعمل هذا المرشح غالبًا على تحسين سرعة ودقة التعرف الضوئي على الحروف في عمليات المسح منخفضة التباين.
  • OcrInput.DeNoise () - يزيل الضوضاء الرقمية. يجب استخدام هذا المرشح فقط عند توقع الضوضاء.
  • OcrInput.Invert () - يعكس كل لون. على سبيل المثال ، يصبح الأبيض أسودًا: يصبح الأسود أبيض.
  • OcrInput.Dilate () - علم الصرف المتقدم. يضيف التوسيع وحدات بكسل إلى حدود الكائنات في الصورة. مقابل تآكل
  • OcrInput.Erode () - علم الصرف المتقدم. يزيل التآكل وحدات البكسل الموجودة على حدود الكائن مقابل تمدد
  • OcrInput.Deskew () - يقوم بتدوير الصورة بحيث تكون في الاتجاه الصحيح لأعلى ومتعامدة. هذا مفيد جدًا لـ OCR لأن تحمل Tesseract لعمليات المسح المنحرفة يمكن أن يصل إلى 5 درجات.
  • OcrInput.DeepCleanBackgroundNoise () - إزالة ضوضاء الخلفية الثقيلة. استخدم هذا المرشح فقط في حالة معرفة ضوضاء خلفية المستند الشديدة ، لأن هذا المرشح سيخاطر أيضًا بتقليل دقة التعرف الضوئي على الحروف للمستندات النظيفة ، وهو مكلف للغاية لوحدة المعالجة المركزية.
  • OcrInput.EnhanceResolution - يعزز دقة الصور منخفضة الجودة. غالبًا ما لا تكون هناك حاجة إلى هذا المرشح لأن OcrInput.MinimumDPI و OcrInput.TargetDPI سيقوم تلقائيًا بالتقاط وحل المدخلات منخفضة الدقة.

CleanBackground الضوضاء. هذا هو الإعداد الذي يستغرق وقتًا طويلاً إلى حد ما ؛ ومع ذلك ، فإنه يسمح للمكتبة بتنظيف الضوضاء الرقمية وتكتلات الورق والعيوب الأخرى داخل الصورة الرقمية والتي من شأنها أن تجعلها غير قادرة على القراءة بواسطة مكتبات التعرف الضوئي على الحروف الأخرى

إن EnhanceContrast هو إعداد يتسبب في زيادة تباين النص باستخدام IronOCR تلقائيًا على خلفية الصورة ، مما يؤدي إلى زيادة دقة التعرف الضوئي على الحروف وزيادة الأداء وسرعة التعرف الضوئي على الحروف بشكل عام.

EnhanceResolution هو إعداد يكتشف تلقائيًا الصور منخفضة الدقة (أقل من 275 نقطة في البوصة) ويقوم تلقائيًا بترقية الصورة ثم زيادة حدة النص بالكامل بحيث يمكن قراءته بشكل مثالي بواسطة مكتبة التعرف الضوئي على الحروف. على الرغم من أن هذه العملية في حد ذاتها تستغرق وقتًا طويلاً ، إلا أنها تقلل عمومًا الوقت الإجمالي لعملية التعرف الضوئي على الحروف على الصورة.

يدعم Language IronOCR 22 حزمة لغات دولية ، ويمكن استخدام إعداد اللغة لتحديد لغة واحدة أو أكثر ليتم تطبيقها على عملية OCR.

استراتيجية IronOCR يدعم استراتيجيتين. قد نختار إما إجراء مسح ضوئي سريع وأقل دقة لمستند ، أو استخدام استراتيجية متقدمة تستخدم بعض نماذج الذكاء الاصطناعي لتحسين دقة نص التعرف الضوئي على الحروف تلقائيًا من خلال النظر في العلاقة الإحصائية للكلمات ببعضها البعض في جملة .

ColorSpace هو إعداد يمكننا من خلاله اختيار OCR بتدرج الرمادي أو اللون. بشكل عام ، يعد التدرج الرمادي هو الخيار الأفضل. ومع ذلك ، في بعض الأحيان عندما تكون هناك نصوص أو خلفيات ذات تدرجات متشابهة ولكن بلون مختلف تمامًا ، ستوفر مساحة الألوان الكاملة نتائج أفضل.

DetectWhiteTextOnDarkBackgrounds. بشكل عام ، تتوقع جميع مكتبات OCR رؤية نص أسود على خلفيات بيضاء. يسمح هذا الإعداد لـ IronOCR باكتشاف الصور السلبية تلقائيًا أو الصفحات المظلمة ذات النص الأبيض وقراءتها.

InputImageType. يتيح هذا الإعداد للمطور توجيه مكتبة OCR لمعرفة ما إذا كانت تبحث في مستند كامل أو مقتطف ، مثل لقطة شاشة.

RotateAndStraighten هو إعداد متقدم يسمح لـ IronOCR بالقدرة الفريدة على قراءة المستندات التي لا يتم تدويرها فحسب ، بل ربما تحتوي على منظور ، مثل صور المستندات النصية.

تعد ReadBarcodes ميزة مفيدة تسمح لـ IronOCR بقراءة الباركود ورموز QR تلقائيًا على الصفحات حيث يقرأ النص أيضًا ، دون إضافة عبء وقت إضافي كبير.

عمق اللون. يحدد هذا الإعداد عدد وحدات البت لكل بكسل التي ستستخدمها مكتبة OCR لتحديد عمق اللون. قد يؤدي ارتفاع عمق اللون إلى زيادة جودة التعرف الضوئي على الحروف ، ولكنه سيزيد أيضًا من الوقت المطلوب لإكمال عملية التعرف الضوئي على الحروف.

126 حزم لغات

يدعم IronOCR 126 لغة دولية عبر حزم اللغات التي يتم توزيعها كملفات DLL ، والتي يمكن تنزيلها من هذا الموقع الإلكتروني ، أو أيضًا من NuGet Package Manager .

تشمل اللغات الألمانية والفرنسية والإنجليزية والصينية واليابانية وغيرها الكثير. تتوفر حزم اللغات المتخصصة لجواز السفر MRZ وشيكات MICR والبيانات المالية ولوحات الترخيص وغيرها الكثير. يمكنك أيضًا استخدام أي ملف tesseract ".traineddata" - بما في ذلك الملفات التي تنشئها بنفسك.

مثال اللغة

استخدام لغات OCR الأخرى.

// using IronOcr;
// PM> Install IronOcr.Languages.Arabic

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// أضف مرشحات الصور إذا لزم الأمر
// في هذه الحالة ، حتى التفكير في المدخلات ذات جودة منخفضة جدًا
// يمكن لـ IronTesseract قراءة ما لا تستطيع Tesseract التقليدية.

var Result = Ocr.Read(input);

// لا تستطيع وحدة التحكم طباعة اللغة العربية على Windows بسهولة.
// دعونا نحفظ على القرص بدلا من ذلك.
Result.SaveAsTextFile("arabic.txt");
}
// using IronOcr;
// PM> Install IronOcr.Languages.Arabic

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// أضف مرشحات الصور إذا لزم الأمر
// في هذه الحالة ، حتى التفكير في المدخلات ذات جودة منخفضة جدًا
// يمكن لـ IronTesseract قراءة ما لا تستطيع Tesseract التقليدية.

var Result = Ocr.Read(input);

// لا تستطيع وحدة التحكم طباعة اللغة العربية على Windows بسهولة.
// دعونا نحفظ على القرص بدلا من ذلك.
Result.SaveAsTextFile("arabic.txt");
}
' using IronOcr;
' PM> Install IronOcr.Languages.Arabic

Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic

Using input = New OcrInput()
input.AddImage("img/arabic.gif")
' أضف مرشحات الصور إذا لزم الأمر
' في هذه الحالة ، حتى التفكير في المدخلات ذات جودة منخفضة جدًا
' يمكن لـ IronTesseract قراءة ما لا تستطيع Tesseract التقليدية.

Dim Result = Ocr.Read(input)

' لا تستطيع وحدة التحكم طباعة اللغة العربية على Windows بسهولة.
' دعونا نحفظ على القرص بدلا من ذلك.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

مثال متعدد اللغات

من الممكن أيضًا التعرف الضوئي على الحروف باستخدام لغات متعددة في نفس الوقت. يمكن أن يساعد هذا حقًا في الحصول على البيانات الوصفية وعناوين url باللغة الإنجليزية في مستندات Unicode.

// using IronOcr;
// PM> Install IronOcr.Languages.ChineseSimplified

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Arabic);

// يمكننا إضافة أي عدد من اللغات

using (var input = new OcrInput())
{
input.Add("multi - language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt");
}
// using IronOcr;
// PM> Install IronOcr.Languages.ChineseSimplified

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Arabic);

// يمكننا إضافة أي عدد من اللغات

using (var input = new OcrInput())
{
input.Add("multi - language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt");
}
' using IronOcr;
' PM> Install IronOcr.Languages.ChineseSimplified

Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.ChineseSimplified
Ocr.AddSecondaryLanguage(OcrLanguage.Arabic)

' يمكننا إضافة أي عدد من اللغات

Using input = New OcrInput()
input.Add("multi - language.pdf")
Dim Result = Ocr.Read(input)
Result.SaveAsTextFile("results.txt")
End Using
VB   C#

كائنات نتائج التعرف الضوئي على الحروف المفصلة

يقوم IronOCR بإرجاع كائن نتيجة OCR لكل عملية OCR. بشكل عام ، يستخدم المطورون فقط خاصية النص لهذا الكائن للحصول على النص الممسوح ضوئيًا من الصورة. ومع ذلك ، فإن نتائج OCR DOM أكثر تقدمًا من ذلك بكثير.

using IronOcr;
using System.Drawing; //أضف مرجع التجميع

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!مهم

using (var Input = new OcrInput(@"images\sample.tiff"))
{
OcrResult Result = Ocr.Read(Input);
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// استكشف هنا للعثور على واجهة برمجة تطبيقات ضخمة ومفصلة:
// - صفحات ، كتل ، بارافافس ، خطوط ، كلمات ، أحرف
// - تصدير الصور ، إحداثيات الخطوط ، البيانات الإحصائية
}
using IronOcr;
using System.Drawing; //أضف مرجع التجميع

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!مهم

using (var Input = new OcrInput(@"images\sample.tiff"))
{
OcrResult Result = Ocr.Read(Input);
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// استكشف هنا للعثور على واجهة برمجة تطبيقات ضخمة ومفصلة:
// - صفحات ، كتل ، بارافافس ، خطوط ، كلمات ، أحرف
// - تصدير الصور ، إحداثيات الخطوط ، البيانات الإحصائية
}
Imports IronOcr
Imports System.Drawing 'أضف مرجع التجميع

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True '!مهم

Using Input = New OcrInput("images\sample.tiff")
Dim Result As OcrResult = Ocr.Read(Input)
Dim Pages = Result.Pages
Dim Words = Pages(0).Words
Dim Barcodes = Result.Barcodes
' استكشف هنا للعثور على واجهة برمجة تطبيقات ضخمة ومفصلة:
' - صفحات ، كتل ، بارافافس ، خطوط ، كلمات ، أحرف
' - تصدير الصور ، إحداثيات الخطوط ، البيانات الإحصائية
End Using
VB   C#

أداء

تعمل أداة IronOCR خارج الصندوق دون الحاجة إلى ضبط الأداء أو تعديل صور الإدخال بشكل كبير.

السرعة مشتعلة: IronOcr.2020 + أسرع بما يصل إلى 10 مرات وتسبب أخطاء أقل بنسبة تزيد عن 250٪ عن الإصدارات السابقة.

أعرف أكثر

لمعرفة المزيد حول التعرف الضوئي على الحروف في C#أو VB أو F # أو أي لغة أخرى من لغات .NET ، يرجى قراءة دروس المجتمع التعليمية ، والتي تقدم أمثلة من العالم الواقعي لكيفية استخدام IronOCR وقد تُظهر الفروق الدقيقة في كيفية الحصول على أفضل النتائج من هذه المكتبة.

يتوفر أيضًا مرجع كائن كامل لمطوري .NET .