نمای کلی ویژگیها
مروری بر ویژگیها
این صفحه API تشخیص کتابخانه را معرفی میکند و قابلیتهایی که در بخشهای دیگر این راهنما بهصورت عمیق بررسی شدهاند را ارائه میدهد. AsposeOcr نقطه ورودی کل کتابخانه است. متد Recognize() آن یک OcrInput میگیرد و یک OcrOutput برمیگرداند — فهرستی از RecognitionResult، یکی برای هر تصویر یا صفحه PDF.
تشخیص تک-تصویر و PDF
OcrInput با یک InputType ساخته میشود — InputType.SingleImage برای یک تصویر رستر، یا InputType.PDF برای یک سند PDF. فایلها با OcrInput.Add() در صف میگیرند. آزادسازی OcrInput فقط مسیرهای فایلهای صفگذاری شده را که در خود دارد پاک میکند.
using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.PDF);
input.Add("document.pdf");
OcrOutput output = api.Recognize(input);نتایج تشخیص
هر RecognitionResult RecognitionText را نمایش میدهد (متن کامل صفحه شناساییشده) و RecognitionLinesResult (فهرستی از RecognitionResult.LinesResult که هر کدام دارای TextInLine و یک جعبه مرزی System.Drawing.Rectangle در Line هستند).
foreach (RecognitionResult page in output)
{
Console.WriteLine(page.RecognitionText);
foreach (RecognitionResult.LinesResult line in page.RecognitionLinesResult)
{
Console.WriteLine($"{line.Line}: {line.TextInLine}");
}
}پردازش دستهای
OcrInput بیش از یک فایل از همان نوع ورودی را میپذیرد. OcrOutput ترتیب افزودن فایلها را حفظ میکند، بهطوریکه برای هر فایل (یا هر صفحه PDF) یک RecognitionResult وجود دارد.
using var input = new OcrInput(InputType.SingleImage);
input.Add("page-1.jpg");
input.Add("page-2.png");
OcrOutput output = api.Recognize(input);نکات و بهترین روشها
- پس از اتمام تشخیص،
OcrInputرا آزاد کنید (یا آن را در یک عبارتusingبپیچید) تا منابع زیرین آزاد شوند. - فقط
InputType.SingleImageوInputType.PDFپشتیبانی میشوند — هر نوع ورودی دیگرNotSupportedExceptionرا پرتاب میکند. - تشخیص فقط برای حروفالفبای لاتین است؛ پارامتر انتخاب زبان وجود ندارد.
- صفحات PDF قبل از تشخیص بهصورت داخلی رندر میشوند، بنابراین نیازی به مرحله جداگانه تبدیل PDF به تصویر نیست.
مسائل رایج
| مشکل | دلیل | رفع |
|---|---|---|
NotSupportedException روی Recognize() | یک OcrInput با InputType پشتیبانینشده ساخته شد | فقط از InputType.SingleImage یا InputType.PDF استفاده کنید |
FileNotFoundException روی Recognize() | مسیر اضافهشده از طریق OcrInput.Add() وجود ندارد | قبل از فراخوانی Add() مسیر فایل را تأیید کنید |
خالی RecognitionLinesResult | هیچ خط متنی در آن تصویر یا صفحه تشخیص داده نشد | تأیید کنید که تصویر منبع شامل متن قابل خواندن به اسکریپت لاتین و بدون چرخش باشد |
FAQ
چه زبانهایی را Aspose.OCR FOSS برای .NET تشخیص میدهد؟
متن با حروف لاتین. مدل تشخیص تعبیهشده اسکریپتهای غیرلاتین را پوشش نمیدهد.
آیا به اتصال اینترنت نیاز دارد؟
نه. هر سه مدل ONNX (تشخیص، تصفیه، تشخیص) در اسمبلی تعبیه شدهاند و بهصورت محلی از طریق Microsoft.ML.OnnxRuntime اجرا میشوند.
آیا میتوانم چندین فایل را در یک فراخوانی تشخیص دهم؟
بله — قبل از فراخوانی AsposeOcr.Recognize()، چندین فایل را به همان OcrInput اضافه کنید. OcrOutput بازگرداندهشده ترتیب آنها را حفظ میکند.
این بر روی چه پلتفرمهایی اجرا میشود؟
این هدفگذاری برای .NET Standard 2.0، .NET Framework 4.8 و .NET 8.0+ است. پردازش تصویر به ویندوز نیاز دارد، زیرا به System.Drawing.Common وابسته است.
API Reference خلاصه
| کلاس/متد | توضیح |
|---|---|
AsposeOcr.Recognize(OcrInput) | نقطه ورودی: متن را شناسایی میکند و یک OcrOutput برمیگرداند |
OcrInput.Add(string) | مسیر فایل را برای شناسایی در صف میگذارد |
InputType | Enum: SingleImage یا PDF |
RecognitionResult.RecognitionText | متن کامل صفحه شناساییشده |
RecognitionResult.RecognitionLinesResult | فهرست خطوط شناساییشده به همراه جعبههای محدودکننده |
RecognitionResult.LinesResult.TextInLine | متن شناساییشده برای یک خط |
RecognitionResult.LinesResult.Line | جعبه محدودکننده با مختصات پیکسل برای یک خط |