تبدیل عکس به متن در ASP.Net

سه شنبه 18 اسفند 1394

در این مقاله قصد داریم یکی از روش های تبدیل عکس به متن در ASP.Net را با استفاده ازکدهای C # و نرم افزار Microsoft Office Document Imaging را آموزش دهیم.

 تبدیل عکس به متن در ASP.Net

دانلود و نصب Microsoft Office Document Imaging (MODI)
برای دانلود و نصب ، از لینک  زیر استفاده کنید

http://www.microsoft.com/en-in/download/details.aspx?id=21581

پس از دانلود ، نصب و راه اندازی  را شروع کنید. در پنجره installer بر روی دکمه Customize  مانند زیر کلیک کنید

 

در پنجره زیر  Run all from My Computer را انتخاب کنید

 

 

همچنین مطمئن شوید که Run all from My Computer را برای Scanning, OCR and Indexing Service Filter  در قسمت  Microsoft Office Document Imaging انتخاب کرده باشید  

حالا شما باید بر روی دکمه Continue کلیک  کرده و نصب و راه اندازی کنید.

 

منبع Microsoft Office Document Imaging (MODI) را در پروژه خود اضافه کنید

Add Reference را زده و از پنجره باز شده  ، Microsoft Office Document Imaging 12.0 Type Library را انتخاب کنید.

شما هم اکنون  باید  Interop.MODI.dll در پروژه خود داشته باشید

 

صفحهHTML  زیر ، شامل یک کنترل FileUpload ASP.Net، یک button و یک کنترل Label است .

Select File:
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button Text="Upload" runat="server" OnClick="Upload" />
<hr />
<asp:Label ID="lblText" runat="server" />

 

فضای نام زیر را به پروزه اضافه کنید

using MODI;
using System.IO;

 

خواندن و  استخراج متن از  تصویر با استفاده از Microsoft Office Document Imaging (MODI)
هنگامی که فایل انتخاب  و دکمه آپلود کلیک می شود، بارگذاری رویداد اجرا می شود. در اینجا فایل داخل پوشه ها ذخیره شده و سپس مسیر فایل به روش ExtractTextFromImage عرضه می شود.

متن استخراج شده در کنترل Label اختصاص داده میشود.

 

کد C#
protected void Upload(object sender, EventArgs e)
{
      string filePath = Server.MapPath("~/Uploads/" + Path.GetFileName(FileUpload1.PostedFile.FileName));
      FileUpload1.SaveAs(filePath);
      string extractText = this.ExtractTextFromImage(filePath);
      lblText.Text = extractText.Replace(Environment.NewLine, "<br />");
}
 
private string ExtractTextFromImage(string filePath)
{
      Document modiDocument = new Document();
      modiDocument.Create(filePath);
      modiDocument.OCR(MiLANGUAGES.miLANG_ENGLISH);
      MODI.Image modiImage = (modiDocument.Images[0] as MODI.Image);
      string extractedText = modiImage.Layout.Text;
      modiDocument.Close();
      return extractedText;
}

 خروجی

 

 

 

 

 

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید