1. محصولات
  2.   Aspose.OCR
  3.   Aspose.OCR FOSS for .NET

Aspose.OCR FOSS برای .NET

کتابخانه متن باز .NET برای تشخیص و شناسایی متن در تصویرها و اسناد PDF. تحت مجوز MIT، به‌صورت آفلاین با مدل‌های توکار ONNX اجرا می‌شود.

کتابخانه منبع باز .NET برای تشخیص و شناسایی متن

Aspose.OCR FOSS for .NET یک کتابخانه رایگان و تحت مجوز MIT برای C# است که برای تشخیص و شناسایی متن در تصاویر رستر و اسناد PDF بدون نیاز به نرم‌افزار یا سرویس OCR خارجی استفاده می‌شود. کل زنجیره پردازش — تشخیص خطوط متن، پالایش ناحیه و شناسایی اسکریپت لاتین — به‌صورت محلی از طریق سه مدل ONNX که مستقیماً در اسمبلی جاسازی شده‌اند و بر روی CPU با Microsoft.ML.OnnxRuntime اجرا می‌شوند؛ در زمان اجرا نیازی به دانلود مدل و یا تماس شبکه نیست. API بر پایه AsposeOcr.Recognize() متمرکز است که یک OcrInput ساخته شده از یک یا چند فایل (InputType.SingleImage یا InputType.PDF) را می‌پذیرد و یک OcrOutput بر می‌گرداند — یک RecognitionResult برای هر تصویر یا صفحه PDF، به ترتیب منبع. هر RecognitionResult متن کامل صفحه را از طریق RecognitionText و خطوط شناسایی‌شده فردی، هر کدام با جعبه محدوده مختصات پیکسلی خود، از طریق RecognitionLinesResult ارائه می‌دهد. صفحات PDF به‌صورت داخلی (از طریق Aspose.PDF.FOSS)` پیش از شناسایی) رندر می‌شوند، بنابراین نیازی به گام مستقل تبدیل PDF به تصویر نیست. Aspose.OCR FOSS برای .NET تحت مجوز MIT است. آن را با dotnet add package Aspose.OCR.FOSS نصب کنید. برای خانواده محصولات سازمانی، به Aspose.OCR — خانواده محصولات سازمانی مراجعه کنید.

تشخیص متن در تصاویر و PDFها

  • AsposeOcr.Recognize(OcrInput) نقطه ورودی تک برای هر دو تصویر و PDF است
  • OcrInput مقادیر InputType.SingleImage یا InputType.PDF را می‌پذیرد؛ با استفاده از OcrInput.Add() یک یا چند مسیر فایل اضافه کنید
  • برای InputType.PDF، هر صفحه شناسایی می‌شود و به ترتیب منبع بازگردانده می‌شود
  • نتیجه یک OcrOutput است — یک RecognitionResult برای هر تصویر یا صفحه PDF

محل استفاده از تشخیص متن

  • دیجیتالی کردن اسناد اسکن‌شده به متن قابل جستجو و قابل کپی
  • استخراج متن از PDFهای اسکن‌شده که لایه متن جاسازی‌شده ندارند
  • پردازش فرم‌ها، رسیدها و فاکتورهای اسکن‌شده در یک خط لولهٔ دسته‌ای
  • ایندکس‌گذاری آرشیوهای بزرگ از تصاویر اسکن‌شده برای جستجوی تمام متن

متن سطح خط و جعبه‌های محدود

  • RecognitionResult.RecognitionText بازگشت می‌دهد متن کامل صفحه شناسایی‌شده
  • RecognitionResult.RecognitionLinesResult یک RecognitionResult.LinesResult برای هر خط متن شناسایی‌شده باز می‌گرداند
  • هر RecognitionResult.LinesResult.TextInLine متن شناسایی‌شده آن خط را نگه می‌دارد
  • هر RecognitionResult.LinesResult.Line یک System.Drawing.Rectangle است که مختصات پیکسل‌ای خط را در تصویر منبع ارائه می‌دهد

محل استفاده از داده‌های سطح خط

  • کشیدن پوشش‌های نواحی شناسایی‌شده بر روی تصویر منبع
  • ساخت لایه متن قابل جستجو که بر روی صفحه اسکن‌شده قرار دارد
  • بررسی دقت شناسایی به‌ازای هر خط در طول QA
  • راه‌اندازی ابزارهای حذف یا حاشیه‌نویسی از مختصات خطوط

به‌صورت کامل آفلاین اجرا می‌شود، بدون سرویس خارجی

  • هر سه مدل ONNX (تشخیص، بهبود، تشخیص لاتین) به عنوان منابع تعبیه‌شده در اسمبلی هستند — هیچ‌چیز برای دانلود جداگانه وجود ندارد
  • تشخیص به‌صورت کامل بر روی CPU محلی اجرا می‌شود از طریق Microsoft.ML.OnnxRuntime
  • OcrInput می‌تواند چندین فایل را در بر گیرد؛ OcrOutput ترتیب اصلی آن‌ها را حفظ می‌کند
  • نوع‌های ورودی پشتیبانی‌شده فقط InputType.SingleImage و InputType.PDF هستند — هر نوع ورودی دیگر NotSupportedException را پرتاب می‌کند

جایی که تشخیص آفلاین مهم است

  • محیط‌های ایزوله یا تحت مقررات که اسناد نمی‌توانند از شبکه خارج شوند
  • خطوط لوله CI/CD بدون دسترسی به شبکه خارجی در زمان ساخت
  • تشخیص دسته‌ای با حجم بالا که هزینه‌ی OCR ابری به ازای هر فراخوانی یک نگرانی است
  • پردازش اسناد در محل با تأخیر پیش‌بینی‌پذیر و فقط محلی

تشخیص متن در سند PDF

هر صفحه از یک PDF را شناسایی کنید و متن هر صفحه را به ترتیب منبع چاپ کنید.

using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.PDF);
input.Add("document.pdf");
OcrOutput output = api.Recognize(input);
foreach (RecognitionResult page in output)
{
    Console.WriteLine(page.RecognitionText);
}

تشخیص متن در یک تصویر

یک تصویر رستر تک را شناسایی کنید و متن شناسایی شده آن را چاپ کنید.

using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.SingleImage);
input.Add("scan.png");
RecognitionResult result = api.Recognize(input)[0];
Console.WriteLine(result.RecognitionText);

خواندن خطوط شناسایی‌شده و جعبه‌های مرزی آن‌ها

خطوط شناسایی‌شده را پیمایش کنید و متن هر خط را به همراه مختصات پیکسلی آن چاپ کنید.

using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.SingleImage);
input.Add("document.jpg");
RecognitionResult result = api.Recognize(input)[0];
foreach (RecognitionResult.LinesResult line in result.RecognitionLinesResult)
{
    System.Drawing.Rectangle bounds = line.Line;
    Console.WriteLine($"x={bounds.X}, y={bounds.Y}, width={bounds.Width}, height={bounds.Height}: {line.TextInLine}");
}

سوالات متداول

مدل مجوزدهی چیست؟

Aspose.OCR FOSS for .NET تحت مجوز MIT است. می‌توانید از آن استفاده کنید، آن را تغییر داده و توزیع مجدد کنید، از جمله در محصولات تجاری، بدون هزینه‌های مجوز اضافی.

چگونه Aspose.OCR FOSS for .NET را نصب کنم؟

بخش نصب بالا را برای فرمان نصب فعلی ببینید.

کدام زبان‌ها را شناسایی می‌کند؟

متن با حروف لاتین. پارامتر انتخاب زبان وجود ندارد و اسکریپت‌های غیرلاتین توسط مدل تشخیص توکار پوشش داده نمی‌شوند.

آیا به اتصال اینترنت نیاز دارد؟

نه. هر سه مدل ONNX (تشخیص، بهبود، شناسایی) در اسمبلی تعبیه شده‌اند و به‌صورت محلی از طریق Microsoft.ML.OnnxRuntime اجرا می‌شوند.

آیا می‌توانم چندین فایل را در یک فراخوانی تشخیص دهم؟

بله — قبل از فراخوانی AsposeOcr.Recognize() چندین فایل را به همان OcrInput اضافه کنید. OcrOutput بازگردانده‌شده ترتیب آن‌ها را حفظ می‌کند.

  

منابع پشتیبانی و آموزش

 فارسی