OCR فارسی در C#و .NET

نسخه های دیگر این سند:

IronOCR یک جز software نرم افزاری C#است که به رمزگذاران NET اجازه می دهد متن تصاویر و اسناد PDF را به 126 زبان از جمله فارسی بخوانند.

این یک چنگال پیشرفته Tesseract است که به طور انحصاری برای توسعه دهندگان دات نت ساخته شده است و مرتباً از نظر سرعت و دقت از سایر موتورهای Tesseract بهتر عمل می کند.

محتوای IronOcr.Languages. فارسی

این بسته شامل 46 زبان OCR برای دات نت است:

  • فارسی
  • PersianBest
  • PersianFast

دانلود

بسته زبان فارسی [فارسی]
* Download as زیپ کنید
* Install with
https://www.nuget.org/packages/IronOcr.Languages.Persian/'> NuGet

نصب و راه اندازی

اولین کاری که باید انجام دهیم نصب بسته OCR فارسی در پروژه .NET شماست.

PM> Install-Package IronOCR.Languages.Persian

مثال کد

این مثال کد C#متن فارسی را از یک سند Image یا PDF می خواند.

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

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

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

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

چرا IronOCR را انتخاب می کنیم؟

IronOCR یک کتابخانه نرم افزار دات نت با نصب آسان ، کامل و مستند است.

IronOCR را برای دستیابی به دقت 99.8٪ + OCR بدون استفاده از خدمات وب خارجی ، هزینه های جاری یا ارسال اسناد محرمانه از طریق اینترنت انتخاب کنید.

چرا توسعه دهندگان C#IronOCR را به جای Vanilla Tesseract انتخاب می کنند:

  • به صورت DLL یا NuGet نصب کنید
  • شامل موتورهای Tesseract 5 ، 4 و 3 خارج از جعبه است.
  • دقت 99.8٪ به طور قابل توجهی بهتر از Tesseract معمولی است.
  • سرعت شعله ور و چند رشته ای
  • MVC ، WebApp ، دسک تاپ ، کنسول و برنامه سرور سازگار است
  • بدون 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 در داخل برنامه های تجاری و اختصاصی مورد استفاده قرار گیرد.

OCR آهن هنگام کار با تصاویر دنیای واقعی و اسناد ناقص مانند عکس یا اسکن با وضوح پایین که ممکن است نویز دیجیتالی یا نقص داشته باشد ، می درخشد.

سایر کتابخانه های OCR رایگان برای پلتفرم NET مانند سایر API ها و سرویس های وب tesseract .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#

با سلام جهان قابل تنظیم است

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Persian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... می توانید هر تعداد تصویر اضافه کنید
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Persian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Persian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... می توانید هر تعداد تصویر اضافه کنید
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Persian
Imports IronOcr

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

CCR PDF OCR

برای استخراج متن از هر سند PDF ، می توان از همین روش استفاده کرد.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Persian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// ما همچنین می توانیم تعداد صفحات PDF خاص را به OCR انتخاب کنیم

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 صفحه برای هر صفحه از PDF
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Persian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// ما همچنین می توانیم تعداد صفحات PDF خاص را به OCR انتخاب کنیم

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 صفحه برای هر صفحه از PDF
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Persian
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' ما همچنین می توانیم تعداد صفحات PDF خاص را به OCR انتخاب کنیم

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 صفحه برای هر صفحه از PDF
End Using
VB   C#

OCR برای TIFF های چند صفحه ای

OCR خواندن قالب پرونده TIFF شامل اسناد چند صفحه ای. TIFF همچنین می تواند به طور مستقیم به یک فایل PDF با متن قابل جستجو تبدیل شود.

using IronOcr;

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

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.Persian;

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.Persian

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#

OCR در مناطق خاص تصاویر

تمام روشهای اسکن و خواندن IronOCR این توانایی را فراهم می کند که دقیقاً از کدام قسمت از صفحه یا صفحاتی بخواهیم متن را بخوانیم. این هنگامی که ما به دنبال فرم های استاندارد هستیم بسیار مفید است و می تواند زمان زیادی را صرفه جویی کرده و کارایی را بهبود بخشد.

برای استفاده از مناطق برش ، باید یک ارجاع سیستم به System.Drawing تا بتوانیم از شی System.Drawing.Rectangle استفاده کنیم.

using IronOcr;

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

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

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

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

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

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

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

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

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

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

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.Persian;

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.Persian;

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.Persian

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.Persian;

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.Persian;

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.Persian

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 قابل جستجو تبدیل کنید که می تواند توسط موتورهای جستجوگر اینترانت ، وب سایت و گوگل نمایه شود.

using IronOcr;

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

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.Persian;

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.Persian

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.Persian;
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.Persian;
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.Persian
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 را با کیفیت بالاتر تولید می کند تا نتایج بهتر و سریعتر OCR تولید کند.

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

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.Persian;

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.Persian

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' نویز دیجیتال و اسکن ضعیف را برطرف می کند
Input.Deskew() ' چرخش و پرسپکتیو را برطرف می کند
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

لیست فیلترهای تصویری OCR

فیلترهای ورودی برای افزایش عملکرد OCR که در IronOCR تعبیه شده اند عبارتند از:

  • OcrInput. چرخش (دو درجه) - تصاویر را با تعدادی درجه در جهت عقربه های ساعت می چرخاند . برای خلاف جهت عقربه های ساعت ، از اعداد منفی استفاده کنید.
  • OcrInput.Binarize () - این فیلتر تصویری ، هر پیکسل را سیاه و سفید می کند و هیچ زمینه میانی ندارد. ممکن است موارد عملکرد OCR با تضاد بسیار کم متن با پس زمینه را بهبود بخشد.
  • () OcrInput.ToGrayScale () - این فیلتر تصویری هر پیکسل را به سایه ای از مقیاس خاکستری تبدیل می کند. بعید است که دقت OCR را بهبود بخشد اما ممکن است سرعت را بهبود بخشد
  • OcrInput.Contrast () - به طور خودکار کنتراست را افزایش می دهد. این فیلتر اغلب در اسکن با کنتراست کم سرعت و دقت OCR را بهبود می بخشد.
  • OcrInput.DeNoise () - نویز دیجیتال را حذف می کند. این فیلتر فقط در مواردی که انتظار می رود سر و صدا باشد ، باید استفاده شود.
  • OcrInput.Invert () - هر رنگ را برعکس می کند. به عنوان مثال سفید سیاه می شود: سیاه سفید می شود.
  • OcrInput.Dilate () - مورفولوژی پیشرفته. اتساع پیکسل ها را به مرزهای اشیا in موجود در تصویر اضافه می کند. روبروی فرسایش
  • OcrInput.Erode () - مورفولوژی پیشرفته. فرسایش پیکسلهای موجود در مرزهای جسم را از بین می برد
  • OcrInput.Deskew () - یک تصویر را می چرخاند بنابراین راه صعودی و متعامدی است . این برای OCR بسیار مفید است زیرا تحمل Tesseract برای اسکن های کج می تواند تا 5 درجه پایین باشد.
  • OcrInput.DeepCleanBackgroundNoise () - حذف نویز در پس زمینه شدید. فقط درصورت مشخص بودن نویز شدید پس زمینه سند از این فیلتر استفاده کنید ، زیرا این فیلتر همچنین باعث کاهش دقت OCR اسناد تمیز می شود و بسیار گران قیمت CPU است.
  • OcrInput.EnhanceResolution - وضوح تصاویر با کیفیت پایین را افزایش می دهد. این فیلتر اغلب مورد نیاز نیست زیرا OcrInput.MinimumDPI و OcrInput.TargetDPI بطور خودکار ورودی های با وضوح پایین را گرفته و حل می کند.

CleanBackgroundNoise. این یک تنظیم است که تا حدی وقت گیر است. با این حال ، این کتابخانه به شما اجازه می دهد نویز دیجیتال ، خرده کاغذ و سایر نقایص موجود در یک تصویر دیجیتال را به طور خودکار تمیز کند که در غیر این صورت خوانایی آن توسط دیگر کتابخانه های OCR امکان پذیر نخواهد بود.

EnhanceContrast تنظیماتی است که باعث می شود IronOCR به طور خودکار کنتراست متن را در برابر پس زمینه تصویر افزایش دهد ، باعث افزایش دقت OCR و به طور کلی افزایش عملکرد و سرعت OCR می شود.

EnhanceResolution تنظیماتی است که به صورت خودکار تصاویر با وضوح پایین (زیر 275 نقطه در اینچ) را تشخیص می دهد و به طور خودکار تصویر را بزرگتر می کند و سپس تمام متن را واضح می کند تا توسط کتابخانه OCR کاملا خوانده شود. اگرچه این عمل به خودی خود وقت گیر است ، اما به طور کلی زمان کلی را برای انجام یک عملیات OCR بر روی تصویر کاهش می دهد.

Language IronOCR از 22 بسته زبان بین المللی پشتیبانی می کند و از تنظیمات زبان می توان برای انتخاب یک یا چند زبان مختلف برای استفاده در OCR استفاده کرد.

Strategy IronOCR از دو استراتژی پشتیبانی می کند. ما ممکن است ترجیح دهیم اسکن سریع و با دقت کمتری از یک سند را انجام دهیم ، یا از یک استراتژی پیشرفته استفاده کنیم که از برخی مدل های هوش مصنوعی برای بهبود خودکار دقت متن OCR با مشاهده رابطه آماری کلمات با یکدیگر در یک جمله استفاده می کند. .

ColorSpace تنظیماتی است که به موجب آن می توانیم OCR را در مقیاس خاکستری یا رنگ انتخاب کنیم. به طور کلی ، مقیاس خاکستری بهترین گزینه است. با این حال ، گاهی اوقات وقتی متن یا زمینه ای با رنگ مشابه اما رنگ بسیار متفاوت وجود دارد ، یک فضای رنگی تمام رنگ نتایج بهتری را ارائه می دهد.

DetectWhiteTextOnDarkBackgrounds. به طور کلی ، همه کتابخانه های OCR انتظار دارند متن سیاه را در زمینه های سفید مشاهده کنند. این تنظیم به IronOCR اجازه می دهد تا نگاتیوها یا صفحات تاریک با متن سفید را به طور خودکار تشخیص داده و آنها را بخواند.

InputImageType. این تنظیم به توسعه دهنده این امکان را می دهد تا کتابخانه OCR را در مورد اینکه آیا به یک سند کامل یا یک قطعه مانند تصویر صفحه نگاه می کند ، راهنمایی کند.

RotateAndStraighten یک تنظیم پیشرفته است که به IronOCR امکان منحصر به فرد خواندن اسنادی را می دهد که نه تنها چرخانده می شوند ، بلکه ممکن است دارای چشم انداز باشند ، مانند عکس از اسناد متنی.

ReadBarcodes یک ویژگی مفید است که به IronOCR اجازه می دهد بدون اضافه کردن بار اضافی زیاد ، بارکدها و کدهای QR را در صفحات هنگام خواندن متن ، به طور خودکار بخواند.

عمق رنگ. این تنظیم تعیین می کند که چند بیت در هر پیکسل از کتابخانه OCR برای تعیین عمق رنگ استفاده شود. عمق رنگ بالاتر ممکن است کیفیت OCR را افزایش دهد ، اما همچنین زمان مورد نیاز برای انجام عملیات OCR را افزایش می دهد.

126 بسته زبان

IronOCR از طریق بسته های زبانی که بصورت DLL توزیع می شوند ، از 126 زبان بین المللی پشتیبانی می کند که از این وب سایت یا از مدیر بسته های NuGet قابل بارگیری هستند .

زبان ها شامل آلمانی ، فرانسوی ، انگلیسی ، چینی ، ژاپنی و بسیاری دیگر است. بسته های زبان ویژه برای گذرنامه 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);

// کنسول نمی تواند به راحتی عربی را روی ویندوز چاپ کند.
// به جای آن در دیسک ذخیره کنیم.
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);

// کنسول نمی تواند به راحتی عربی را روی ویندوز چاپ کند.
// به جای آن در دیسک ذخیره کنیم.
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)

' کنسول نمی تواند به راحتی عربی را روی ویندوز چاپ کند.
' به جای آن در دیسک ذخیره کنیم.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

مثال چند زبان

همچنین امکان استفاده همزمان از OCR با استفاده از چند زبان وجود دارد. این واقعاً می تواند به فراداده و url های زبان انگلیسی در اسناد Unicode کمک کند.

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

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

// ما می توانیم به هر تعداد زبان اضافه کنیم

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

// ما می توانیم به هر تعداد زبان اضافه کنیم

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.Persian)

' ما می توانیم به هر تعداد زبان اضافه کنیم

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

اشیا Results دقیق نتایج OCR

IronOCR برای هر عملیات OCR یک شی result نتیجه OCR برمی گرداند. به طور کلی ، توسعه دهندگان فقط از ویژگی متن این شی استفاده می کنند تا متن را از تصویر اسکن کنند. با این حال ، نتایج OCR DOM بسیار پیشرفته تر از این است.

using IronOcr;
using System.Drawing; //مرجع اسمبلی را اضافه کنید

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Persian;
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;
// برای یافتن یک API با جزئیات گسترده ، اینجا را کاوش کنید:
// - صفحات ، بلوک ها ، پارافاف ها ، خطوط ، کلمات ، کاراکترها
// - صادرات تصویر ، مختصات قلم ، داده های آماری
}
using IronOcr;
using System.Drawing; //مرجع اسمبلی را اضافه کنید

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Persian;
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;
// برای یافتن یک API با جزئیات گسترده ، اینجا را کاوش کنید:
// - صفحات ، بلوک ها ، پارافاف ها ، خطوط ، کلمات ، کاراکترها
// - صادرات تصویر ، مختصات قلم ، داده های آماری
}
Imports IronOcr
Imports System.Drawing 'مرجع اسمبلی را اضافه کنید

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Persian
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
' برای یافتن یک API با جزئیات گسترده ، اینجا را کاوش کنید:
' - صفحات ، بلوک ها ، پارافاف ها ، خطوط ، کلمات ، کاراکترها
' - صادرات تصویر ، مختصات قلم ، داده های آماری
End Using
VB   C#

کارایی

IronOCR بدون نیاز به تنظیم عملکرد یا تغییر شدید تصاویر ورودی ، خارج از جعبه کار می کند.

Speed is Blazing: IronOcr.2020+ 10 برابر سریعتر است و بیش از 250٪ خطاهای کمتری نسبت به ساخت های قبلی دارد.

بیشتر بدانید

برای کسب اطلاعات بیشتر در مورد OCR در C#، VB ، F # یا هر زبان دیگر .NET ، لطفاً آموزشهای جامعه ما را بخوانید ، که مثالهای واقعی در مورد چگونگی استفاده از IronOCR را بیان می کند و ممکن است تفاوت های خوبی در استفاده از این کتابخانه

یک مرجع کامل برای توسعه دهندگان دات نت نیز موجود است.