<h1 style=";text-align:right;direction:rtl">التعرف الضوئي على الحروف باللغة العربية في C# و .NET</h1>
<h6 style=";text-align:right;direction:rtl"> إصدارات أخرى من هذا المستند:</h6>
<ul style=";text-align:right;direction:rtl">
<li style=";text-align:right;direction:rtl"> <a href="../arabic-ar">بالعربية</a></li>
<li style=";text-align:right;direction:rtl"> <a href="../arabic">الإنجليزية (This Page in English)</a></li>
<li style=";text-align:right;direction:rtl"> <a href="/csharp/ocr/languages/">المزيد من اللغات</a></li>
</ul>
<p style=";text-align:right;direction:rtl">IronOCR هو مكون برمجي C# يسمح لمبرمجي .NET بقراءة النص من الصور ومستندات PDF بـ 126 لغة، بما في ذلك العربية.</p>
<p style=";text-align:right;direction:rtl">إنها شوكة متطورة من Tesseract، تم إنشاؤها حصريا لمطوري .NET وتتفوق بانتظام على محركات Tesseract الأخرى من حيث السرعة والدقة.</p>
<h2 style=";text-align:right;direction:rtl">محتويات أيرون أو لغات</h2>
<p style=";text-align:right;direction:rtl"> تحتوي هذه الحزمة على 108 لغة OCR لـ .NET:</p>
<ul style=";text-align:right;direction:rtl">
<li style=";text-align:right;direction:rtl">عربى</li>
<li style=";text-align:right;direction:rtl">العربية</li>
<li style=";text-align:right;direction:rtl">عربي سريع</li>
<li style=";text-align:right;direction:rtl">الأبجدية العربية</li>
<li style=";text-align:right;direction:rtl">العربية الأبجدية الأفضل</li>
<li style=";text-align:right;direction:rtl">العربية الأبجدية</li>
</ul>
<h2 style=";text-align:right;direction:rtl">تحميل</h2>
<p style=";text-align:right;direction:rtl"> حزمة اللغة العربية [العربية] <br/>
تنزيل كـ <a class='languages-dll' href='/csharp/ocr/packages/language-packs/Arabic.ocrdata.zip'>الرمز البريدي <i class='fas fa-download'></i></a><br/>
تثبيت باستخدام <a target='_blank' class='languages-nuget' href="https://www.nuget.org/packages/IronOcr.Languages.Arabic/">https://www.nuget.org/packages/IronOcr.Languages.Arabic/</a></p>
<h2 style=";text-align:right;direction:rtl">التركيب</h2>
<p style=";text-align:right;direction:rtl">أول شيء يتعين علينا القيام به هو تثبيت حزمة OCR<strong>العربية</strong> الخاصة بنا على مشروع .NET الخاص بك.</p>
<p style=";text-align:right;direction:rtl"><code>PM> Install-Package IronOcr.Languages.Arabic</code></p>
<h2 style=";text-align:right;direction:rtl">مثال رمز</h2>
<p style=";text-align:right;direction:rtl">يقرأ مثال كود C# هذا نصا عربيا من صورة أو مستند PDF.</p>
```csharp
// تثبيت حزمة اللغة العربية باستخدام NuGet.
// 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;
}
```
<h2 style=";text-align:right;direction:rtl">لماذا تختار IronOCR؟</h2>
<p style=";text-align:right;direction:rtl">IronOCR هي مكتبة برامج .NET سهلة التثبيت وكاملة وموثقة جيدا.</p>
<p style=";text-align:right;direction:rtl">اختر IronOCR لتحقيق <strong>دقة 99.8٪ + OCR</strong> دون استخدام أي خدمات ويب خارجية أو رسوم مستمرة أو إرسال مستندات سرية عبر الإنترنت.</p>
<h4 style=";text-align:right;direction:rtl">لماذا يختار مطورو C# IronOCR على Vanilla Tesseract:</h4>
<ul style=";text-align:right;direction:rtl">
<li style=";text-align:right;direction:rtl">تثبيت كملف DLL واحد أو NuGet</li>
<li style=";text-align:right;direction:rtl">يشمل لمحركات Tesseract 5 و 4 و 3 خارج الصندوق.</li>
<li style=";text-align:right;direction:rtl">دقة <strong>99.8٪</strong> تتفوق بشكل ملحوظ على Tesseract العادية.</li>
<li style=";text-align:right;direction:rtl">اشتعلت فيه النيران السرعة و MultiThreading</li>
<li style=";text-align:right;direction:rtl">متوافق مع MVC و WebApp و Desktop و Console & Server Application</li>
<li style=";text-align:right;direction:rtl">لا يوجد رمز Exes أو C++ للعمل معه</li>
<li style=";text-align:right;direction:rtl">دعم PDF OCR كامل</li>
<li style=";text-align:right;direction:rtl">لإجراء OCR، تقريبا أي ملف صورة أو PDF</li>
<li style=";text-align:right;direction:rtl">دعم كامل. NET Core و Standard و Framework</li>
<li style=";text-align:right;direction:rtl">انشر على أنظمة تشغيل Windows و Mac و Linux و Azure و Docker و Lambda و AWS</li>
<li style=";text-align:right;direction:rtl">قراءة الباركود ورموز QR</li>
<li style=";text-align:right;direction:rtl">تصدير OCR إلى XHTML</li>
<li style=";text-align:right;direction:rtl">تصدير OCR إلى مستندات PDF قابلة للبحث</li>
<li style=";text-align:right;direction:rtl">دعم تعدد</li>
<li style=";text-align:right;direction:rtl">تدار جميع اللغات الدولية 126 عبر ملفات NuGet أو OcrData</li>
<li style=";text-align:right;direction:rtl">استخراج الصور والإحداثيات والإحصائيات والخطوط. ليس مجرد نص.</li>
<li style=";text-align:right;direction:rtl">يمكن استخدامها لإعادة توزيع Tesseract OCR داخل التطبيقات التجارية والخاصة.</li>
</ul>
<p style=";text-align:right;direction:rtl"><em>يتألق برنامج IronOCR عند العمل مع صور حقيقية ومستندات غير كاملة مثل الصور الفوتوغرافية أو عمليات المسح الضوئي ذات الدقة المنخفضة والتي قد تحتوي على ضوضاء رقمية أو عيوب.</em></p>
<p style=";text-align:right;direction:rtl">مكتبات <a href="/csharp/ocr/use-case/free-ocr-csharp/">OCR المجانية</a> الأخرى لمنصة .NET مثل واجهات برمجة التطبيقات وخدمات الويب .NET الأخرى لا تعمل بشكل جيد في حالات الاستخدام الحقيقية هذه.</p>
<h2 style=";text-align:right;direction:rtl">OCR باستخدام Tesseract 5 - ابدأ الترميز في C#</h2>
<p style=";text-align:right;direction:rtl">يوضح نموذج التعليمات البرمجية أدناه مدى سهولة قراءة النص من صورة باستخدام C# أو VB .NET.</p>
<h3 style=";text-align:right;direction:rtl">OneLiner</h3>
```csharp
// قراءة النص من ملف صورة باستخدام سطر واحد فقط من الكود.
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
```
<h3 style=";text-align:right;direction:rtl">شكلي Hello World</h3>
```csharp
// تثبيت حزمة اللغة العربية باستخدام NuGet.
// PM> Install-Package IronOcr.Languages.Arabic
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// إنشاء مدخلات OCR وإضافة صورة
using (var Input = new OcrInput())
{
Input.AddImage("images/sample.jpeg");
//... يمكنك إضافة أي عدد من الصور
// قراءة النص من المدخلات
var Result = Ocr.Read(Input);
// طباعة النص الممسوح ضوئيا إلى وحدة التحكم
Console.WriteLine(Result.Text);
}
```
<h3 style=";text-align:right;direction:rtl">C# PDF OCR</h3>
<p style=";text-align:right;direction:rtl">يمكن استخدام نفس الأسلوب بالمثل لاستخراج نص من أي مستند PDF.</p>
```csharp
using IronOcr;
// إنشاء مثيل لــ IronTesseract وتعيين اللغة إلى العربية
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// فتح ملف PDF وتحديد الصفحات
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
}
```
<h3 style=";text-align:right;direction:rtl">OCR لـ TIFFs متعددة الصفحات</h3>
<p style=";text-align:right;direction:rtl">OCR Reading TIFF بتنسيق ملف يتضمن مستندات متعددة الصفحات يمكن أيضا تحويل TIFF مباشرة إلى ملف PDF بنص يمكن البحث فيه.</p>
```csharp
using IronOcr;
// إنشاء مثيل لــ IronTesseract وتعيين اللغة إلى العربية
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// قراءة ملف TIFF متعدد الإطارات
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("multi - frame.tiff");
var Result = Ocr.Read(Input);
// طباعة النص المستخرج إلى وحدة التحكم
Console.WriteLine(Result.Text);
}
```
<h3 style=";text-align:right;direction:rtl"> الباركود و QR</h3>
<p style=";text-align:right;direction:rtl">ميزة فريدة من نوعها لـ IronOCR هي أنه يمكنه قراءة الرموز الشريطية ورموز QR من المستندات أثناء المسح بحثا عن نص. تعطي مثيلات فئة <code>OcrResult.OcrBarcode</code> للمطور معلومات مفصلة حول كل رمز شريطي تم مسحه ضوئيا.</p>
```csharp
// 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);
// النوع والموقع يتعرضان أيضا
}
}
```
<h3 style=";text-align:right;direction:rtl">التعرف الضوئي على الحروف في مناطق محددة من الصور</h3>
<p style=";text-align:right;direction:rtl">توفر جميع طرق المسح والقراءة الخاصة بـ IronOCR القدرة على تحديد أي جزء من الصفحة أو الصفحات التي نرغب في قراءة النص منها بالضبط. يعد هذا مفيدا جدا عندما ننظر إلى النماذج الموحدة ويمكن أن يوفر الكثير من الوقت ويحسن الكفاءة.</p>
<p style=";text-align:right;direction:rtl">لاستخدام مناطق المحاصيل، سنحتاج إلى إضافة مرجع نظام إلى <code>System.Drawing</code> حتى نتمكن من استخدام كائن <code>System.Drawing.Rectangle</code>.</p>
```csharp
using IronOcr;
// إعداد مثيل IronTesseract وتعيين اللغة للعربية
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);
}
```
<h3 style=";text-align:right;direction:rtl">OCR لعمليات المسح منخفضة الجودة</h3>
<p style=";text-align:right;direction:rtl">يمكن لفئة IronOCR <code>OcrInput</code> إصلاح عمليات المسح التي لا تستطيع Tesseract العادية قراءتها.</p>
```csharp
using IronOcr;
// إعداد مثيل IronTesseract وتعيين اللغة للعربية
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);
}
```
<h3 style=";text-align:right;direction:rtl">تصدير نتائج OCR كملف PDF قابل للبحث</h3>
<p style=";text-align:right;direction:rtl">صورة إلى PDF مع سلاسل نصية قابلة للنسخ. يمكن فهرستها بواسطة محركات البحث وقواعد البيانات.</p>
```csharp
using IronOcr;
// إعداد مثيل IronTesseract وتعيين اللغة للعربية
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// إنشاء مدخلاتOCR وتصديرها إلى PDF
using (var Input = new OcrInput())
{
// إعداد عنوان للوثيقة
Input.Title = "Quarterly Report";
// إضافة الصور
Input.AddImage("image1.jpeg");
Input.AddImage("image2.png");
Input.AddImage("image3.gif");
// قراءة المدخلات وحفظها كـ PDF قابل للبحث
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
```
<h3 style=";text-align:right;direction:rtl">TIFF لتحويل PDF القابل للبحث</h3>
<p style=";text-align:right;direction:rtl">قم بتحويل مستند TIFF (أو أي مجموعة من ملفات الصور) مباشرة إلى ملف PDF يمكن البحث فيه والذي يمكن فهرسته عن طريق الإنترانت وموقع الويب ومحركات بحث Google.</p>
```csharp
using IronOcr;
// إعداد مثيل IronTesseract وتعيين اللغة للعربية
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// معالجة ملف TIFF متعدد الإطارات وتصديره إلى PDF قابل للبحث
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("example.tiff");
// قراءة المدخلات وحفظها كـ PDF قابل للبحث
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
```
<h3 style=";text-align:right;direction:rtl">تصدير نتائج OCR بتنسيق HTML</h3>
<p style=";text-align:right;direction:rtl">صورة OCR لتحويل XHTML.</p>
```csharp
using IronOcr;
// إعداد مثيل IronTesseract وتعيين اللغة للعربية
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// إعداد مدخلات OCR وتصديرها كـ HTML
using (var Input = new OcrInput())
{
// إعداد عنوان للوثيقة
Input.Title = "Html Title";
// إضافة الصور
Input.AddImage("image1.jpeg");
// قراءة المدخلات وحفظها كـ HTML
var Result = Ocr.Read(Input);
Result.SaveAsHocrFile("results.html");
}
```
<h2 style=";text-align:right;direction:rtl">مرشحات تحسين الصور OCR</h2>
<p style=";text-align:right;direction:rtl">يوفر IronOCR مرشحات فريدة لكائنات <code>OcrInput</code> لتحسين أداء التعرف الضوئي على الحروف.</p>
<h3 style=";text-align:right;direction:rtl">مثال رمز تحسين الصورة</h3>
<p style=";text-align:right;direction:rtl">يجعل صور إدخال OCR أعلى جودة لإنتاج نتائج OCR أفضل وأسرع.</p>
```csharp
using IronOcr;
// إعداد مثيل IronTesseract وتعيين اللغة للعربية
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// معالجة الصورة لتحسين نتائج OCR
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // يصلح التشويش الرقمي وضعف المسح
Input.Deskew(); // إصلاح الدوران والمنظور
var Result = Ocr.Read(Input);
// طباعة النص المستخرج
Console.WriteLine(Result.Text);
}
```
<h3 style=";text-align:right;direction:rtl">قائمة مرشحات الصور OCR</h3>
<p style=";text-align:right;direction:rtl"> تشمل مرشحات الإدخال لتحسين أداء التعرف الضوئي على الحروف المضمنة في IronOCR ما يلي:</p>
<ul style=";text-align:right;direction:rtl">
<li style=";text-align:right;direction:rtl"> <strong>OcrInput.Rotate (درجات مزدوجة)</strong> - <strong>لتدوير</strong> الصور بعدد من الدرجات في اتجاه عقارب الساعة. لعكس اتجاه عقارب الساعة، استخدم الأرقام السالبة.</li>
<li style=";text-align:right;direction:rtl"> <strong>OcrInput.Binarize ()</strong> - يقوم مرشح الصور هذا بتحويل كل بكسل إلى الأسود أو الأبيض بدون أرضية وسطى. قد يحسن حالات أداء التعرف الضوئي على الحروف ذات التباين المنخفض جدا للنص في الخلفية.</li>
<li style=";text-align:right;direction:rtl"> <strong>OcrInput.ToGrayScale ()</strong> - يحول مرشح الصور هذا كل بكسل إلى ظل من التدرج الرمادي. من غير المحتمل تحسين دقة التعرف الضوئي على الحروف ولكن قد يحسن السرعة.</li>
<li style=";text-align:right;direction:rtl"> <strong>OcrInput.Contrast ()</strong> - يزيد التباين تلقائيا. يعمل هذا المرشح غالبا على تحسين سرعة ودقة التعرف الضوئي على الحروف في عمليات المسح منخفضة التباين.</li>
<li style=";text-align:right;direction:rtl"> <strong>OcrInput.DeNoise ()</strong> - يزيل الضوضاء الرقمية. يجب استخدام هذا المرشح فقط عند توقع الضوضاء.</li>
<li style=";text-align:right;direction:rtl"> <strong>OcrInput.Invert ()</strong> - <strong>يعكس</strong> كل لون. على سبيل المثال، يصبح الأبيض أسودا: يصبح الأسود أبيض.</li>
<li style=";text-align:right;direction:rtl"> <strong>OcrInput.Dilate ()</strong> - علم الصرف المتقدم. يضيف <em>التوسيع</em> وحدات بكسل إلى حدود الكائنات في الصورة. مقابل التآكل.</li>
<li style=";text-align:right;direction:rtl"> <strong>OcrInput.Erode ()</strong> - علم الصرف المتقدم. يزيل <em>التآكل</em> وحدات البكسل الموجودة على حدود الكائن مقابل تمدد.</li>
<li style=";text-align:right;direction:rtl"> <strong>OcrInput.Deskew ()</strong> - يقوم بتدوير الصورة بحيث تكون في الاتجاه الصحيح لأعلى ومتعامدة. هذا مفيد جدا لـ OCR لأن تحمل Tesseract لعمليات المسح المنحرفة يمكن أن يصل إلى 5 درجات.</li>
<li style=";text-align:right;direction:rtl"> <strong>OcrInput.DeepCleanBackgroundNoise ()</strong> - إزالة ضوضاء الخلفية الثقيلة. استخدم هذا المرشح فقط في حالة معرفة ضوضاء خلفية المستند الشديدة، لأن هذا المرشح سيخاطر أيضا بتقليل دقة التعرف الضوئي على الحروف للمستندات النظيفة، وهو مكلف للغاية لوحدة المعالجة المركزية.</li>
<li style=";text-align:right;direction:rtl"> <strong>OcrInput.EnhanceResolution</strong> - يعزز دقة الصور منخفضة الجودة. غالبا ما لا تكون هناك حاجة إلى هذا المرشح لأن <em>OcrInput.MinimumDPI</em> و <em>OcrInput.TargetDPI</em> سيقوم تلقائيا بالتقاط وحل المدخلات منخفضة الدقة.</li>
</ul>
<p style=";text-align:right;direction:rtl"><strong>CleanBackground ضوضاء.</strong> هذا هو الإعداد الذي يستغرق وقتا طويلا إلى حد ما؛ ومع ذلك، فإنه يسمح للمكتبة بتنظيف الضوضاء الرقمية وتكتلات الورق والعيوب الأخرى داخل الصورة الرقمية والتي من شأنها أن تجعلها غير قابلة للقراءة بواسطة مكتبات التعرف الضوئي على الحروف الأخرى.</p>
<p style=";text-align:right;direction:rtl"><strong>EnhanceContrast</strong> هو إعداد يتسبب في زيادة تباين النص باستخدام IronOCR تلقائيا على خلفية الصورة، مما يؤدي إلى زيادة دقة التعرف الضوئي على الحروف وزيادة الأداء وسرعة التعرف الضوئي على الحروف بشكل عام.</p>
<p style=";text-align:right;direction:rtl"><strong>EnhanceResolution</strong> هو إعداد يكتشف تلقائيا الصور منخفضة الدقة (أقل من 275 نقطة في البوصة) ويقوم تلقائيا بترقية الصورة ثم زيادة حدة النص بالكامل بحيث يمكن قراءته بشكل مثالي بواسطة مكتبة التعرف الضوئي على الحروف. على الرغم من أن هذه العملية في حد ذاتها تستغرق وقتا طويلا، إلا أنها تقلل عموما الوقت الإجمالي لعملية التعرف الضوئي على الحروف على الصورة.</p>
<p style=";text-align:right;direction:rtl">يدعم <strong>Language</strong> IronOCR 22 حزمة لغات دولية، ويمكن استخدام إعداد اللغة لتحديد لغة واحدة أو أكثر ليتم تطبيقها على عملية OCR.</p>
<p style=";text-align:right;direction:rtl"><strong>استراتيجية</strong> IronOCR يدعم استراتيجيتين. قد نختار إما إجراء مسح ضوئي سريع وأقل دقة لمستند، أو استخدام استراتيجية متقدمة تستخدم بعض نماذج الذكاء الاصطناعي لتحسين دقة نص التعرف الضوئي على الحروف تلقائيا من خلال النظر في العلاقة الإحصائية للكلمات ببعضها البعض في جملة.</p>
<p style=";text-align:right;direction:rtl"><strong>ColorSpace</strong> هو إعداد يمكننا من خلاله اختيار OCR بتدرج الرمادي أو اللون. بشكل عام، يعد التدرج الرمادي هو الخيار الأفضل. ومع ذلك، في بعض الأحيان عندما تكون هناك نصوص أو خلفيات ذات تدرجات متشابهة ولكن بلون مختلف تماما، ستوفر مساحة الألوان الكاملة نتائج أفضل.</p>
<p style=";text-align:right;direction:rtl"><strong>DetectWhiteTextOnDarkBackgrounds.</strong> بشكل عام، تتوقع جميع مكتبات OCR رؤية نص أسود على خلفيات بيضاء. يسمح هذا الإعداد لـ IronOCR باكتشاف الصور السلبية تلقائيا أو الصفحات المظلمة ذات النص الأبيض وقراءتها.</p>
<p style=";text-align:right;direction:rtl"><strong>InputImageType.</strong> يتيح هذا الإعداد للمطور توجيه مكتبة OCR لمعرفة ما إذا كانت تبحث في مستند كامل أو مقتطف، مثل لقطة شاشة.</p>
<p style=";text-align:right;direction:rtl"><strong>RotateAndStraighten</strong> هو إعداد متقدم يسمح لـ IronOCR بالقدرة الفريدة على قراءة المستندات التي لا يتم تدويرها فحسب، بل ربما تحتوي على منظور، مثل صور المستندات النصية.</p>
<p style=";text-align:right;direction:rtl">تعد <strong>ReadBarcodes</strong> ميزة مفيدة تسمح لـ IronOCR بقراءة الباركود ورموز QR تلقائيا على الصفحات حيث يقرأ النص أيضا، دون إضافة عبء وقت إضافي كبير.</p>
<p style=";text-align:right;direction:rtl"><strong>عمق اللون.</strong> يحدد هذا الإعداد عدد وحدات البت لكل بكسل التي ستستخدمها مكتبة OCR لتحديد عمق اللون. قد يؤدي ارتفاع عمق اللون إلى زيادة جودة التعرف الضوئي على الحروف، ولكنه سيزيد أيضا من الوقت المطلوب لإكمال عملية التعرف الضوئي على الحروف.</p>
<h2 style=";text-align:right;direction:rtl"> 126 حزم لغات</h2>
<p style=";text-align:right;direction:rtl"> يدعم IronOCR <strong>126 لغة دولية</strong> عبر حزم اللغات التي يتم توزيعها كملفات DLL، والتي يمكن <a href="/csharp/ocr/languages/">تنزيلها من هذا الموقع الإلكتروني</a>، أو أيضا من <a href="https://www.nuget.org/packages?q=IronOcr.Languages">NuGet Package Manager</a>.</p>
<p style=";text-align:right;direction:rtl"> تشمل اللغات الألمانية والفرنسية والإنجليزية والصينية واليابانية وغيرها الكثير. تتوفر حزم اللغات المتخصصة لجواز السفر MRZ وشيكات MICR والبيانات المالية ولوحات الترخيص وغيرها الكثير. يمكنك أيضا استخدام أي ملف Tesseract ".traineddata" - بما في ذلك الملفات التي تنشئها بنفسك.</p>
<h3 style=";text-align:right;direction:rtl"> مثال اللغة</h3>
<p style=";text-align:right;direction:rtl"> استخدام لغات OCR الأخرى.</p>
```csharp
// تثبيت حزمة اللغة العربية باستخدام NuGet.
// PM> Install-Package IronOcr.Languages.Arabic
using IronOcr;
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");
}
```
<h3 style=";text-align:right;direction:rtl">مثال متعدد اللغات</h3>
<p style=";text-align:right;direction:rtl"> من الممكن أيضا التعرف الضوئي على الحروف باستخدام لغات متعددة في نفس الوقت. يمكن أن يساعد هذا حقا في الحصول على البيانات الوصفية وعناوين url باللغة الإنجليزية في مستندات Unicode.</p>
```csharp
// تثبيت حزمة اللغة الصينية المبسطة باستخدام NuGet.
// PM> Install-Package IronOcr.Languages.ChineseSimplified
using IronOcr;
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");
}
```
<h2 style=";text-align:right;direction:rtl">كائنات نتائج التعرف الضوئي على الحروف المفصلة</h2>
<p style=";text-align:right;direction:rtl"> يقوم IronOCR بإرجاع كائن نتيجة OCR لكل عملية OCR. بشكل عام، يستخدم المطورون فقط خاصية النص لهذا الكائن للحصول على النص الممسوح ضوئيا من الصورة. ومع ذلك، فإن نتائج OCR DOM أكثر تقدما من ذلك بكثير.</p>
```csharp
using IronOcr;
using System.Drawing; // أضف مرجع التجميع
var Ocr = new IronTesseract();
// تعيين اللغة إلى العربية وتهيئة الأداة
Ocr.Language = OcrLanguage.Arabic;
// ضبط وضع الاستخدام إلى TesseractAndLstm للحصول على نتائج أفضل
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;
// استكشف هنا للعثور على واجهة برمجة تطبيقات ضخمة ومفصلة:
// - صفحات، كتل، بارافافس، خطوط، كلمات، أحرف
// - تصدير الصور، إحداثيات الخطوط، البيانات الإحصائية
}
```
<h2 style=";text-align:right;direction:rtl">أداء</h2>
<p style=";text-align:right;direction:rtl"> تعمل أداة IronOCR خارج الصندوق دون الحاجة إلى ضبط الأداء أو تعديل صور الإدخال بشكل كبير.</p>
<p style=";text-align:right;direction:rtl"> السرعة مشتعلة: IronOCR.2020 + أسرع بما يصل إلى 10 مرات وتسبب أخطاء أقل بنسبة تزيد عن 250٪ عن الإصدارات السابقة.</p>
<h2 style=";text-align:right;direction:rtl"> أعرف أكثر</h2>
<p style=";text-align:right;direction:rtl"> لمعرفة المزيد حول التعرف الضوئي على الحروف في C# أو VB أو F# أو أي لغة أخرى من لغات .NET، يرجى <a href="/csharp/ocr/tutorials/how-to-read-text-from-an-image-in-csharp-net/">قراءة دروس المجتمع التعليمية</a>، والتي تقدم أمثلة من العالم الواقعي لكيفية استخدام IronOCR وقد تظهر الفروق الدقيقة في كيفية الحصول على أفضل النتائج من هذه المكتبة.</p>
<p style=";text-align:right;direction:rtl"> يتوفر أيضا <a href="/csharp/ocr/object-reference/api/">مرجع كائن</a> كامل <a href="/csharp/ocr/object-reference/api/">لمطوري .NET</a>.</p>
أول شيء يتعين علينا القيام به هو تثبيت حزمة OCRالعربية الخاصة بنا على مشروع .NET الخاص بك.
PM> Install-Package IronOcr.Languages.Arabic
مثال رمز
يقرأ مثال كود C# هذا نصا عربيا من صورة أو مستند PDF.
// تثبيت حزمة اللغة العربية باستخدام NuGet.// PM> Install-Package IronOcr.Languages.Arabicusing IronOcr;varOcr = new IronTesseract();// تعيين اللغة إلى العربيةOcr.Language = OcrLanguage.Arabic;// قراءة النص من صورةusing (varInput = new OcrInput(@"images\Arabic.png")){ varResult = Ocr.Read(Input); // الحصول على النص الكامل من الصورة varAllText = Result.Text;}
// تثبيت حزمة اللغة العربية باستخدام NuGet.
// 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;
}
' تثبيت حزمة اللغة العربية باستخدام NuGet.' PM> Install-Package IronOcr.Languages.ArabicImportsIronOcrPrivateOcr = New IronTesseract()' تعيين اللغة إلى العربيةOcr.Language = OcrLanguage.Arabic' قراءة النص من صورةUsingInput = New OcrInput("images\Arabic.png") DimResult = Ocr.Read(Input) ' الحصول على النص الكامل من الصورة DimAllText = Result.TextEndUsing
' تثبيت حزمة اللغة العربية باستخدام NuGet.
' 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 = Result.Text
End Using
لماذا تختار 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
// قراءة النص من ملف صورة باستخدام سطر واحد فقط من الكود.stringText = new IronTesseract().Read(@"img\Screenshot.png").Text;
// قراءة النص من ملف صورة باستخدام سطر واحد فقط من الكود.
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
' قراءة النص من ملف صورة باستخدام سطر واحد فقط من الكود.DimTextAsString = (New IronTesseract()).Read("img\Screenshot.png").Text
' قراءة النص من ملف صورة باستخدام سطر واحد فقط من الكود.
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
شكلي Hello World
// تثبيت حزمة اللغة العربية باستخدام NuGet.// PM> Install-Package IronOcr.Languages.Arabicusing IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Arabic;// إنشاء مدخلات OCR وإضافة صورةusing (varInput = new OcrInput()){Input.AddImage("images/sample.jpeg"); //... يمكنك إضافة أي عدد من الصور // قراءة النص من المدخلات varResult = Ocr.Read(Input); // طباعة النص الممسوح ضوئيا إلى وحدة التحكمConsole.WriteLine(Result.Text);}
// تثبيت حزمة اللغة العربية باستخدام NuGet.
// PM> Install-Package IronOcr.Languages.Arabic
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// إنشاء مدخلات OCR وإضافة صورة
using (var Input = new OcrInput())
{
Input.AddImage("images/sample.jpeg");
//... يمكنك إضافة أي عدد من الصور
// قراءة النص من المدخلات
var Result = Ocr.Read(Input);
// طباعة النص الممسوح ضوئيا إلى وحدة التحكم
Console.WriteLine(Result.Text);
}
ImportsIronOcr' تثبيت حزمة اللغة العربية باستخدام NuGet.' PM> Install-Package IronOcr.Languages.ArabicDimOcrAs New IronTesseract()Ocr.Language = OcrLanguage.Arabic' إنشاء مدخلات OCR وإضافة صورةUsingInputAs New OcrInput()Input.AddImage("images/sample.jpeg") '... يمكنك إضافة أي عدد من الصور ' قراءة النص من المدخلات DimResult = Ocr.Read(Input) ' طباعة النص الممسوح ضوئيا إلى وحدة التحكمConsole.WriteLine(Result.Text)EndUsing
Imports IronOcr
' تثبيت حزمة اللغة العربية باستخدام NuGet.
' PM> Install-Package IronOcr.Languages.Arabic
Dim Ocr As New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
' إنشاء مدخلات OCR وإضافة صورة
Using Input As New OcrInput()
Input.AddImage("images/sample.jpeg")
'... يمكنك إضافة أي عدد من الصور
' قراءة النص من المدخلات
Dim Result = Ocr.Read(Input)
' طباعة النص الممسوح ضوئيا إلى وحدة التحكم
Console.WriteLine(Result.Text)
End Using
C# PDF OCR
يمكن استخدام نفس الأسلوب بالمثل لاستخراج نص من أي مستند PDF.
using IronOcr;// إنشاء مثيل لــ IronTesseract وتعيين اللغة إلى العربيةvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Arabic;// فتح ملف PDF وتحديد الصفحاتusing (var input = new OcrInput()){ input.AddPdf("example.pdf", "password"); // يمكننا أيضا تحديد أسماء معينة لصفحات PDF من أجل التعرف الضوئي على الحروف varResult = Ocr.Read(input); // طباعة النص وعدد الصفحاتConsole.WriteLine(Result.Text);Console.WriteLine($"{Result.Pages.Count()} Pages"); // صفحة واحدة لكل صفحة من صفحات PDF}
using IronOcr;
// إنشاء مثيل لــ IronTesseract وتعيين اللغة إلى العربية
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// فتح ملف PDF وتحديد الصفحات
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
}
ImportsIronOcr' إنشاء مثيل لــ IronTesseract وتعيين اللغة إلى العربيةPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Arabic' فتح ملف PDF وتحديد الصفحاتUsing input = New OcrInput() input.AddPdf("example.pdf", "password") ' يمكننا أيضا تحديد أسماء معينة لصفحات PDF من أجل التعرف الضوئي على الحروف DimResult = Ocr.Read(input) ' طباعة النص وعدد الصفحاتConsole.WriteLine(Result.Text)Console.WriteLine($"{Result.Pages.Count()} Pages") ' صفحة واحدة لكل صفحة من صفحات PDFEndUsing
Imports IronOcr
' إنشاء مثيل لــ IronTesseract وتعيين اللغة إلى العربية
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
' فتح ملف PDF وتحديد الصفحات
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
OCR لـ TIFFs متعددة الصفحات
OCR Reading TIFF بتنسيق ملف يتضمن مستندات متعددة الصفحات يمكن أيضا تحويل TIFF مباشرة إلى ملف PDF بنص يمكن البحث فيه.
using IronOcr;// إنشاء مثيل لــ IronTesseract وتعيين اللغة إلى العربيةvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Arabic;// قراءة ملف TIFF متعدد الإطاراتusing (varInput = new OcrInput()){Input.AddMultiFrameTiff("multi - frame.tiff"); varResult = Ocr.Read(Input); // طباعة النص المستخرج إلى وحدة التحكمConsole.WriteLine(Result.Text);}
using IronOcr;
// إنشاء مثيل لــ IronTesseract وتعيين اللغة إلى العربية
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// قراءة ملف TIFF متعدد الإطارات
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("multi - frame.tiff");
var Result = Ocr.Read(Input);
// طباعة النص المستخرج إلى وحدة التحكم
Console.WriteLine(Result.Text);
}
ImportsIronOcr' إنشاء مثيل لــ IronTesseract وتعيين اللغة إلى العربيةDimOcrAs New IronTesseract()Ocr.Language = OcrLanguage.Arabic' قراءة ملف TIFF متعدد الإطاراتUsingInputAs New OcrInput()Input.AddMultiFrameTiff("multi - frame.tiff") DimResult = Ocr.Read(Input) ' طباعة النص المستخرج إلى وحدة التحكمConsole.WriteLine(Result.Text)EndUsing
Imports IronOcr
' إنشاء مثيل لــ IronTesseract وتعيين اللغة إلى العربية
Dim Ocr As New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
' قراءة ملف TIFF متعدد الإطارات
Using Input As New OcrInput()
Input.AddMultiFrameTiff("multi - frame.tiff")
Dim Result = Ocr.Read(Input)
' طباعة النص المستخرج إلى وحدة التحكم
Console.WriteLine(Result.Text)
End Using
الباركود و QR
ميزة فريدة من نوعها لـ IronOCR هي أنه يمكنه قراءة الرموز الشريطية ورموز QR من المستندات أثناء المسح بحثا عن نص. تعطي مثيلات فئة OcrResult.OcrBarcode للمطور معلومات مفصلة حول كل رمز شريطي تم مسحه ضوئيا.
// using IronOcr;varOcr = new IronTesseract();// تمكين خاصية قراءة الباركود ضمن إعدادات الأداةOcr.Configuration.ReadBarCodes = true;using (var input = new OcrInput()){ // إضافة الصورة التي تحتوي على الباركود للمدخلات input.AddImage("img/Barcode.png"); varResult = Ocr.Read(input); // طباعة قيمة كل باركود مسحناه foreach (varBarcodeinResult.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);
// النوع والموقع يتعرضان أيضا
}
}
' Imports IronOcrDimOcrAs New IronTesseract()' تمكين خاصية قراءة الباركود ضمن إعدادات الأداةOcr.Configuration.ReadBarCodes = TrueUsing input As New OcrInput() ' إضافة الصورة التي تحتوي على الباركود للمدخلات input.AddImage("img/Barcode.png") DimResult = Ocr.Read(input) ' طباعة قيمة كل باركود مسحناه For EachBarcodeInResult.BarcodesConsole.WriteLine(Barcode.Value) ' النوع والموقع يتعرضان أيضا NextEndUsing
' Imports IronOcr
Dim Ocr As New IronTesseract()
' تمكين خاصية قراءة الباركود ضمن إعدادات الأداة
Ocr.Configuration.ReadBarCodes = True
Using input As New OcrInput()
' إضافة الصورة التي تحتوي على الباركود للمدخلات
input.AddImage("img/Barcode.png")
Dim Result = Ocr.Read(input)
' طباعة قيمة كل باركود مسحناه
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
' النوع والموقع يتعرضان أيضا
Next
End Using
التعرف الضوئي على الحروف في مناطق محددة من الصور
توفر جميع طرق المسح والقراءة الخاصة بـ IronOCR القدرة على تحديد أي جزء من الصفحة أو الصفحات التي نرغب في قراءة النص منها بالضبط. يعد هذا مفيدا جدا عندما ننظر إلى النماذج الموحدة ويمكن أن يوفر الكثير من الوقت ويحسن الكفاءة.
لاستخدام مناطق المحاصيل، سنحتاج إلى إضافة مرجع نظام إلى System.Drawing حتى نتمكن من استخدام كائن System.Drawing.Rectangle.
using IronOcr;// إعداد مثيل IronTesseract وتعيين اللغة للعربيةvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Arabic;// قراءة صورة باستخدام أبعاد محددةusing (varInput = new OcrInput()){ // تحديد منطقة مسح محددة داخل الصورة varContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 }; // الأبعاد بالبكسلInput.Add("document.png", ContentArea); varResult = Ocr.Read(Input); // طباعة النص المستخرجConsole.WriteLine(Result.Text);}
using IronOcr;
// إعداد مثيل IronTesseract وتعيين اللغة للعربية
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);
}
ImportsIronOcr' إعداد مثيل IronTesseract وتعيين اللغة للعربيةDimOcr = New IronTesseract()Ocr.Language = OcrLanguage.Arabic' قراءة صورة باستخدام أبعاد محددةUsingInput = New OcrInput() ' تحديد منطقة مسح محددة داخل الصورة DimContentArea = New System.Drawing.Rectangle() With {.X = 215, .Y = 1250, .Height = 280, .Width = 1335} ' الأبعاد بالبكسلInput.Add("document.png", ContentArea) DimResult = Ocr.Read(Input) ' طباعة النص المستخرجConsole.WriteLine(Result.Text)EndUsing
Imports IronOcr
' إعداد مثيل IronTesseract وتعيين اللغة للعربية
Dim 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
OCR لعمليات المسح منخفضة الجودة
يمكن لفئة IronOCR OcrInput إصلاح عمليات المسح التي لا تستطيع Tesseract العادية قراءتها.
using IronOcr;// إعداد مثيل IronTesseract وتعيين اللغة للعربيةvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Arabic;// معالجة الصور منخفضة الجودةusing (varInput = new OcrInput(@"img\Potter.LowQuality.tiff")){ // تحسينات للصورةInput.DeNoise(); // يصلح التشويش الرقمي وضعف المسحInput.Deskew(); // إصلاح الدوران والمنظور varResult = Ocr.Read(Input); // طباعة النص الممسوح ضوئياConsole.WriteLine(Result.Text);}
using IronOcr;
// إعداد مثيل IronTesseract وتعيين اللغة للعربية
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);
}
ImportsIronOcr' إعداد مثيل IronTesseract وتعيين اللغة للعربيةDimOcr = New IronTesseract()Ocr.Language = OcrLanguage.Arabic' معالجة الصور منخفضة الجودةUsingInput = New OcrInput("img\Potter.LowQuality.tiff") ' تحسينات للصورةInput.DeNoise() ' يصلح التشويش الرقمي وضعف المسحInput.Deskew() ' إصلاح الدوران والمنظور DimResult = Ocr.Read(Input) ' طباعة النص الممسوح ضوئياConsole.WriteLine(Result.Text)EndUsing
Imports IronOcr
' إعداد مثيل IronTesseract وتعيين اللغة للعربية
Dim 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
تصدير نتائج OCR كملف PDF قابل للبحث
صورة إلى PDF مع سلاسل نصية قابلة للنسخ. يمكن فهرستها بواسطة محركات البحث وقواعد البيانات.
using IronOcr;// إعداد مثيل IronTesseract وتعيين اللغة للعربيةvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Arabic;// إنشاء مدخلاتOCR وتصديرها إلى PDFusing (varInput = new OcrInput()){ // إعداد عنوان للوثيقةInput.Title = "Quarterly Report"; // إضافة الصورInput.AddImage("image1.jpeg");Input.AddImage("image2.png");Input.AddImage("image3.gif"); // قراءة المدخلات وحفظها كـ PDF قابل للبحث varResult = Ocr.Read(Input);Result.SaveAsSearchablePdf("searchable.pdf");}
using IronOcr;
// إعداد مثيل IronTesseract وتعيين اللغة للعربية
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// إنشاء مدخلاتOCR وتصديرها إلى PDF
using (var Input = new OcrInput())
{
// إعداد عنوان للوثيقة
Input.Title = "Quarterly Report";
// إضافة الصور
Input.AddImage("image1.jpeg");
Input.AddImage("image2.png");
Input.AddImage("image3.gif");
// قراءة المدخلات وحفظها كـ PDF قابل للبحث
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
ImportsIronOcr' إعداد مثيل IronTesseract وتعيين اللغة للعربيةPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Arabic' إنشاء مدخلاتOCR وتصديرها إلى PDFUsingInput = New OcrInput() ' إعداد عنوان للوثيقةInput.Title = "Quarterly Report" ' إضافة الصورInput.AddImage("image1.jpeg")Input.AddImage("image2.png")Input.AddImage("image3.gif") ' قراءة المدخلات وحفظها كـ PDF قابل للبحث DimResult = Ocr.Read(Input)Result.SaveAsSearchablePdf("searchable.pdf")EndUsing
Imports IronOcr
' إعداد مثيل IronTesseract وتعيين اللغة للعربية
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
' إنشاء مدخلاتOCR وتصديرها إلى PDF
Using Input = New OcrInput()
' إعداد عنوان للوثيقة
Input.Title = "Quarterly Report"
' إضافة الصور
Input.AddImage("image1.jpeg")
Input.AddImage("image2.png")
Input.AddImage("image3.gif")
' قراءة المدخلات وحفظها كـ PDF قابل للبحث
Dim Result = Ocr.Read(Input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
TIFF لتحويل PDF القابل للبحث
قم بتحويل مستند TIFF (أو أي مجموعة من ملفات الصور) مباشرة إلى ملف PDF يمكن البحث فيه والذي يمكن فهرسته عن طريق الإنترانت وموقع الويب ومحركات بحث Google.
using IronOcr;// إعداد مثيل IronTesseract وتعيين اللغة للعربيةvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Arabic;// معالجة ملف TIFF متعدد الإطارات وتصديره إلى PDF قابل للبحثusing (varInput = new OcrInput()){Input.AddMultiFrameTiff("example.tiff"); // قراءة المدخلات وحفظها كـ PDF قابل للبحث varResult = Ocr.Read(Input);Result.SaveAsSearchablePdf("searchable.pdf");}
using IronOcr;
// إعداد مثيل IronTesseract وتعيين اللغة للعربية
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// معالجة ملف TIFF متعدد الإطارات وتصديره إلى PDF قابل للبحث
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("example.tiff");
// قراءة المدخلات وحفظها كـ PDF قابل للبحث
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
ImportsIronOcr' إعداد مثيل IronTesseract وتعيين اللغة للعربيةPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Arabic' معالجة ملف TIFF متعدد الإطارات وتصديره إلى PDF قابل للبحثUsingInput = New OcrInput()Input.AddMultiFrameTiff("example.tiff") ' قراءة المدخلات وحفظها كـ PDF قابل للبحث DimResult = Ocr.Read(Input)Result.SaveAsSearchablePdf("searchable.pdf")EndUsing
Imports IronOcr
' إعداد مثيل IronTesseract وتعيين اللغة للعربية
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
' معالجة ملف TIFF متعدد الإطارات وتصديره إلى PDF قابل للبحث
Using Input = New OcrInput()
Input.AddMultiFrameTiff("example.tiff")
' قراءة المدخلات وحفظها كـ PDF قابل للبحث
Dim Result = Ocr.Read(Input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
تصدير نتائج OCR بتنسيق HTML
صورة OCR لتحويل XHTML.
using IronOcr;// إعداد مثيل IronTesseract وتعيين اللغة للعربيةvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Arabic;// إعداد مدخلات OCR وتصديرها كـ HTMLusing (varInput = new OcrInput()){ // إعداد عنوان للوثيقةInput.Title = "Html Title"; // إضافة الصورInput.AddImage("image1.jpeg"); // قراءة المدخلات وحفظها كـ HTML varResult = Ocr.Read(Input);Result.SaveAsHocrFile("results.html");}
using IronOcr;
// إعداد مثيل IronTesseract وتعيين اللغة للعربية
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// إعداد مدخلات OCR وتصديرها كـ HTML
using (var Input = new OcrInput())
{
// إعداد عنوان للوثيقة
Input.Title = "Html Title";
// إضافة الصور
Input.AddImage("image1.jpeg");
// قراءة المدخلات وحفظها كـ HTML
var Result = Ocr.Read(Input);
Result.SaveAsHocrFile("results.html");
}
ImportsIronOcr' إعداد مثيل IronTesseract وتعيين اللغة للعربيةPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Arabic' إعداد مدخلات OCR وتصديرها كـ HTMLUsingInput = New OcrInput() ' إعداد عنوان للوثيقةInput.Title = "Html Title" ' إضافة الصورInput.AddImage("image1.jpeg") ' قراءة المدخلات وحفظها كـ HTML DimResult = Ocr.Read(Input)Result.SaveAsHocrFile("results.html")EndUsing
Imports IronOcr
' إعداد مثيل IronTesseract وتعيين اللغة للعربية
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
' إعداد مدخلات OCR وتصديرها كـ HTML
Using Input = New OcrInput()
' إعداد عنوان للوثيقة
Input.Title = "Html Title"
' إضافة الصور
Input.AddImage("image1.jpeg")
' قراءة المدخلات وحفظها كـ HTML
Dim Result = Ocr.Read(Input)
Result.SaveAsHocrFile("results.html")
End Using
مرشحات تحسين الصور OCR
يوفر IronOCR مرشحات فريدة لكائنات OcrInput لتحسين أداء التعرف الضوئي على الحروف.
مثال رمز تحسين الصورة
يجعل صور إدخال OCR أعلى جودة لإنتاج نتائج OCR أفضل وأسرع.
using IronOcr;// إعداد مثيل IronTesseract وتعيين اللغة للعربيةvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Arabic;// معالجة الصورة لتحسين نتائج OCRusing (varInput = new OcrInput(@"LowQuality.jpeg")){Input.DeNoise(); // يصلح التشويش الرقمي وضعف المسحInput.Deskew(); // إصلاح الدوران والمنظور varResult = Ocr.Read(Input); // طباعة النص المستخرجConsole.WriteLine(Result.Text);}
using IronOcr;
// إعداد مثيل IronTesseract وتعيين اللغة للعربية
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// معالجة الصورة لتحسين نتائج OCR
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // يصلح التشويش الرقمي وضعف المسح
Input.Deskew(); // إصلاح الدوران والمنظور
var Result = Ocr.Read(Input);
// طباعة النص المستخرج
Console.WriteLine(Result.Text);
}
ImportsIronOcr' إعداد مثيل IronTesseract وتعيين اللغة للعربيةDimOcrAs New IronTesseract()Ocr.Language = OcrLanguage.Arabic' معالجة الصورة لتحسين نتائج OCRUsingInputAs New OcrInput("LowQuality.jpeg")Input.DeNoise() ' يصلح التشويش الرقمي وضعف المسحInput.Deskew() ' إصلاح الدوران والمنظور DimResult = Ocr.Read(Input) ' طباعة النص المستخرجConsole.WriteLine(Result.Text)EndUsing
Imports IronOcr
' إعداد مثيل IronTesseract وتعيين اللغة للعربية
Dim Ocr As New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
' معالجة الصورة لتحسين نتائج OCR
Using Input As New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' يصلح التشويش الرقمي وضعف المسح
Input.Deskew() ' إصلاح الدوران والمنظور
Dim Result = Ocr.Read(Input)
' طباعة النص المستخرج
Console.WriteLine(Result.Text)
End Using
قائمة مرشحات الصور 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 لتحديد عمق اللون. قد يؤدي ارتفاع عمق اللون إلى زيادة جودة التعرف الضوئي على الحروف، ولكنه سيزيد أيضا من الوقت المطلوب لإكمال عملية التعرف الضوئي على الحروف.
تشمل اللغات الألمانية والفرنسية والإنجليزية والصينية واليابانية وغيرها الكثير. تتوفر حزم اللغات المتخصصة لجواز السفر MRZ وشيكات MICR والبيانات المالية ولوحات الترخيص وغيرها الكثير. يمكنك أيضا استخدام أي ملف Tesseract ".traineddata" - بما في ذلك الملفات التي تنشئها بنفسك.
مثال اللغة
استخدام لغات OCR الأخرى.
// تثبيت حزمة اللغة العربية باستخدام NuGet.// PM> Install-Package IronOcr.Languages.Arabicusing IronOcr;varOcr = new IronTesseract();// تعيين اللغة إلى اللغة العربيةOcr.Language = OcrLanguage.Arabic;using (var input = new OcrInput()){ input.AddImage("img/arabic.gif"); // أضف مرشحات الصور إذا لزم الأمر // في هذه الحالة، حتى لو كانت المدخلات ذات جودة منخفضة جدا // يمكن لـ IronTesseract قراءة ما لا تستطيع Tesseract التقليدية. varResult = Ocr.Read(input); // لا تستطيع وحدة التحكم طباعة اللغة العربية على Windows بسهولة. // دعونا نحفظ النص إلى ملف بدلا من ذلك.Result.SaveAsTextFile("arabic.txt");}
// تثبيت حزمة اللغة العربية باستخدام NuGet.
// PM> Install-Package IronOcr.Languages.Arabic
using IronOcr;
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");
}
' تثبيت حزمة اللغة العربية باستخدام NuGet.' PM> Install-Package IronOcr.Languages.ArabicImportsIronOcrPrivateOcr = New IronTesseract()' تعيين اللغة إلى اللغة العربيةOcr.Language = OcrLanguage.ArabicUsing input = New OcrInput() input.AddImage("img/arabic.gif") ' أضف مرشحات الصور إذا لزم الأمر ' في هذه الحالة، حتى لو كانت المدخلات ذات جودة منخفضة جدا ' يمكن لـ IronTesseract قراءة ما لا تستطيع Tesseract التقليدية. DimResult = Ocr.Read(input) ' لا تستطيع وحدة التحكم طباعة اللغة العربية على Windows بسهولة. ' دعونا نحفظ النص إلى ملف بدلا من ذلك.Result.SaveAsTextFile("arabic.txt")EndUsing
' تثبيت حزمة اللغة العربية باستخدام NuGet.
' PM> Install-Package IronOcr.Languages.Arabic
Imports IronOcr
Private 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
مثال متعدد اللغات
من الممكن أيضا التعرف الضوئي على الحروف باستخدام لغات متعددة في نفس الوقت. يمكن أن يساعد هذا حقا في الحصول على البيانات الوصفية وعناوين url باللغة الإنجليزية في مستندات Unicode.
// تثبيت حزمة اللغة الصينية المبسطة باستخدام NuGet.// PM> Install-Package IronOcr.Languages.ChineseSimplifiedusing IronOcr;varOcr = new IronTesseract();// تعيين اللغة الأساسية إلى الصينية المبسطةOcr.Language = OcrLanguage.ChineseSimplified;// إضافة اللغة الثانية كلغة ثانويةOcr.AddSecondaryLanguage(OcrLanguage.Arabic);// يمكننا إضافة أي عدد من اللغاتusing (var input = new OcrInput()){ input.Add("multi - language.pdf"); varResult = Ocr.Read(input);Result.SaveAsTextFile("results.txt");}
// تثبيت حزمة اللغة الصينية المبسطة باستخدام NuGet.
// PM> Install-Package IronOcr.Languages.ChineseSimplified
using IronOcr;
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");
}
' تثبيت حزمة اللغة الصينية المبسطة باستخدام NuGet.' PM> Install-Package IronOcr.Languages.ChineseSimplifiedImportsIronOcrPrivateOcr = New IronTesseract()' تعيين اللغة الأساسية إلى الصينية المبسطةOcr.Language = OcrLanguage.ChineseSimplified' إضافة اللغة الثانية كلغة ثانويةOcr.AddSecondaryLanguage(OcrLanguage.Arabic)' يمكننا إضافة أي عدد من اللغاتUsing input = New OcrInput() input.Add("multi - language.pdf") DimResult = Ocr.Read(input)Result.SaveAsTextFile("results.txt")EndUsing
' تثبيت حزمة اللغة الصينية المبسطة باستخدام NuGet.
' PM> Install-Package IronOcr.Languages.ChineseSimplified
Imports IronOcr
Private 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
كائنات نتائج التعرف الضوئي على الحروف المفصلة
يقوم IronOCR بإرجاع كائن نتيجة OCR لكل عملية OCR. بشكل عام، يستخدم المطورون فقط خاصية النص لهذا الكائن للحصول على النص الممسوح ضوئيا من الصورة. ومع ذلك، فإن نتائج OCR DOM أكثر تقدما من ذلك بكثير.
using IronOcr;using System.Drawing; // أضف مرجع التجميعvarOcr = new IronTesseract();// تعيين اللغة إلى العربية وتهيئة الأداةOcr.Language = OcrLanguage.Arabic;// ضبط وضع الاستخدام إلى TesseractAndLstm للحصول على نتائج أفضلOcr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;// تفعيل مسح الباركودات في العمليةOcr.Configuration.ReadBarCodes = true;using (varInput = new OcrInput(@"images\sample.tiff")){ OcrResultResult = Ocr.Read(Input); varPages = Result.Pages; varWords = Pages[0].Words; varBarcodes = Result.Barcodes; // استكشف هنا للعثور على واجهة برمجة تطبيقات ضخمة ومفصلة: // - صفحات، كتل، بارافافس، خطوط، كلمات، أحرف // - تصدير الصور، إحداثيات الخطوط، البيانات الإحصائية}
using IronOcr;
using System.Drawing; // أضف مرجع التجميع
var Ocr = new IronTesseract();
// تعيين اللغة إلى العربية وتهيئة الأداة
Ocr.Language = OcrLanguage.Arabic;
// ضبط وضع الاستخدام إلى TesseractAndLstm للحصول على نتائج أفضل
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;
// استكشف هنا للعثور على واجهة برمجة تطبيقات ضخمة ومفصلة:
// - صفحات، كتل، بارافافس، خطوط، كلمات، أحرف
// - تصدير الصور، إحداثيات الخطوط، البيانات الإحصائية
}
ImportsIronOcrImportsSystem.Drawing' أضف مرجع التجميعPrivateOcr = New IronTesseract()' تعيين اللغة إلى العربية وتهيئة الأداةOcr.Language = OcrLanguage.Arabic' ضبط وضع الاستخدام إلى TesseractAndLstm للحصول على نتائج أفضلOcr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm' تفعيل مسح الباركودات في العمليةOcr.Configuration.ReadBarCodes = TrueUsingInput = New OcrInput("images\sample.tiff") DimResultAsOcrResult = Ocr.Read(Input) DimPages = Result.Pages DimWords = Pages(0).Words DimBarcodes = Result.Barcodes ' استكشف هنا للعثور على واجهة برمجة تطبيقات ضخمة ومفصلة: ' - صفحات، كتل، بارافافس، خطوط، كلمات، أحرف ' - تصدير الصور، إحداثيات الخطوط، البيانات الإحصائيةEndUsing
Imports IronOcr
Imports System.Drawing ' أضف مرجع التجميع
Private Ocr = New IronTesseract()
' تعيين اللغة إلى العربية وتهيئة الأداة
Ocr.Language = OcrLanguage.Arabic
' ضبط وضع الاستخدام إلى TesseractAndLstm للحصول على نتائج أفضل
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
أداء
تعمل أداة IronOCR خارج الصندوق دون الحاجة إلى ضبط الأداء أو تعديل صور الإدخال بشكل كبير.
السرعة مشتعلة: IronOCR.2020 + أسرع بما يصل إلى 10 مرات وتسبب أخطاء أقل بنسبة تزيد عن 250٪ عن الإصدارات السابقة.
أعرف أكثر
لمعرفة المزيد حول التعرف الضوئي على الحروف في C# أو VB أو F# أو أي لغة أخرى من لغات .NET، يرجى قراءة دروس المجتمع التعليمية، والتي تقدم أمثلة من العالم الواقعي لكيفية استخدام IronOCR وقد تظهر الفروق الدقيقة في كيفية الحصول على أفضل النتائج من هذه المكتبة.
Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.