در بسیاری از جریانهای کاری تجاری، اسناد PDF اسکنشده باید به متن قابل جستجو یا قابل ویرایش تبدیل شوند. آموزش Extract Text from Scanned PDFs with Aspose.PDF OCR in C# نشان میدهد چگونه میتوان از موتور OCR یکپارچه در Aspose.PDF for .NET برای استخراج متن ساده از صفحات مبتنی بر تصویر استفاده کرد. با دنبال کردن این راهنما، یک راهحل آماده‑به‑اجرا دریافت میکنید که با هر PDF اسکنشدهای کار میکند، صرفنظر از اندازه یا زبان آن.
استخراج متن از PDFهای اسکنشده با استفاده از Aspose.PDF OCR SDK
PDFهای اسکنشده فقط شامل تصاویر هستند، بنابراین APIهای معمول استخراج متن هیچچیزی بر نمیگردانند. OCR (تشخیص نوری کاراکتر) این تصاویر را به کاراکترهای قابل خواندن توسط ماشین تبدیل میکند و امکان ایندکسگذاری، استخراج داده و پردازشهای بعدی را فراهم میسازد. خودکارسازی OCR در C# مراحل کپی‑پیست دستی را حذف میکند، دقت را بهبود میبخشد و برای دستههای بزرگ اسناد مقیاسپذیر است.
Aspose.PDF فضای نام Aspose.Pdf.Ocr را فراهم میکند که شامل OcrTextRecognitionOptions، OcrTextAbsorber و enumهای زبان است. این کتابخانه از طریق NuGet توزیع میشود. آن را با دستور زیر نصب کنید:
Install-Package Aspose.PDF
برای اطلاعات بیشتر، صفحه محصول Aspose.PDF را مشاهده کنید.
استخراج متن از PDFهای اسکنشده با Aspose.PDF OCR در C#
- PDF اسکنشده را در یک
Aspose.Pdf.Documentبارگذاری کنید. - گزینههای OCR را پیکربندی کنید (زبان، وضوح، جداکننده صفحه).
- یک
OcrTextAbsorberرا بر روی مجموعه صفحات سند اعمال کنید. - متن شناساییشده را بازیابی کرده و ذخیره کنید.
این مثال بارگذاری یک PDF اسکنشده، پیکربندی OCR، استخراج متن و نوشتن نتیجه در یک فایل را با استفاده از C# نشان میدهد.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RecognizeTextWithOcr()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
{
// Configure OCR recognition options
var options = new Aspose.Pdf.Ocr.OcrTextRecognitionOptions
{
Language = Aspose.Pdf.Ocr.OcrLanguage.English,
Resolution = 300,
PageSeparator = "\n\n"
};
// Recognize text from all pages
var absorber = new Aspose.Pdf.Ocr.OcrTextAbsorber(options);
document.Pages.Accept(absorber);
// Save recognized text
System.IO.File.WriteAllText(dataDir + "recognized-text.txt", absorber.Text);
}
}
Aspose.PDF ویژگیهایی که برای این کار مهم هستند
- Integrated OCR engine – بدون وابستگیهای خارجی؛ موتور OCR در فضای نام
Aspose.Pdf.Ocrقرار دارد. - Language selection – enum
OcrLanguageبه شما امکان میدهد واژهنامهای را برای تشخیص بهتر مشخص کنید. - Resolution control – DPI بالاتر، دقت کاراکترها را بهبود میبخشد، بهویژه برای اسکنهای کمرنگ.
- PageSeparator – رشته قابل تنظیم برای جدا کردن صفحات در متن خروجی.
- Thread‑safe page collection – امکان پردازش موازی PDFهای بزرگ را فراهم میکند.
این قابلیتها یک راهحل قوی و تککتابخانهای برای استخراج متن از هر PDF اسکنشدهای را فراهم میکنند.
نصب و راهاندازی در C#
- راهحل .NET خود را در Visual Studio باز کنید.
- Package Manager Console را باز کنید و
Install-Package Aspose.PDFرا اجرا کنید. using Aspose.Pdf;وusing Aspose.Pdf.Ocr;را در بالای فایل کلاس خود اضافه کنید.- اطمینان حاصل کنید که یک لایسنس موقت یا کامل دارید؛ بدون آن، خروجی ممکن است حاوی واترمارک باشد.
برای جزئیات مجوز، به صفحهٔ مجوز موقت مراجعه کنید.
پیادهسازی گامبهگام در C#
این بخش به چه سوالی پاسخ میدهد؟ مراحل دقیق کد برای استخراج متن چیست؟
- مستند را مقداردهی اولیه کنید
var pdfPath = "path/to/scanned.pdf"; var document = new Document(pdfPath); - ایجاد گزینههای OCR
var ocrOptions = new OcrTextRecognitionOptions { Language = OcrLanguage.English, Resolution = 300, PageSeparator = "\n--- Page Break ---\n" }; - اجرای جذبکننده
var absorber = new OcrTextAbsorber(ocrOptions); document.Pages.Accept(absorber); - دسترسی به متن استخراجشده
string extractedText = absorber.Text; - ذخیره یا پردازش متن
System.IO.File.WriteAllText("output.txt", extractedText);
کد همان جریان مثال جامع بالا را دنبال میکند اما منطق را به گامهای قابل هضم تقسیم مینماید.
دریافت یک لایسنس رایگان
Aspose.PDF را بهصورت رایگان ارزیابی کنید با درخواست یک مجوز موقت از اینجا: https://purchase.aspose.com/temporary-license/
منابع اضافی رایگان
نتیجهگیری
این راهنما شما را در استخراج متن از PDFهای اسکنشده با استفاده از Aspose.PDF OCR در C# راهنمایی کرد. شما یاد گرفتید چگونه کتابخانه را نصب کنید، گزینههای OCR را برای دقت پیکربندی کنید، یک خط لوله استخراج تمیز پیادهسازی کنید و بهینهسازیهای عملکردی را برای اسناد بزرگ اعمال کنید. با این تکنیکها، هر توسعهدهنده .NET میتواند PDFهای فقط‑تصویری را به جریانهای متنی قابل جستجو و قابل ویرایش تبدیل کند.
سوالات متداول
چگونه میتوانم متن را از یک PDF اسکنشده در C# با استفاده از Aspose.PDF استخراج کنم؟
یکDocumentایجاد کنید،OcrTextRecognitionOptionsرا پیکربندی کنید، یکOcrTextAbsorberرا بر روی صفحات اجرا کنید و مقدار ویژگیTextرا بخوانید.کدام زبانهای OCR توسط Aspose.PDF پشتیبانی میشوند؟
این کتابخانه از بسیاری از زبانها از طریق enumOcrLanguageپشتیبانی میکند، از جمله انگلیسی، فرانسوی، آلمانی، اسپانیایی، چینی و غیره.چگونه میتوانم دقت OCR را برای اسکنهای با وضوح پایین بهبود دهم؟
Resolutionرا افزایش دهید (مثلاً 300 DPI)، زبان صحیح را انتخاب کنید و پیشپردازش تصاویر برای افزایش کنتراست را در نظر بگیرید.آیا پردازش همزمان PDFهای بزرگ ایمن است؟
بله، با تقسیم سند به بازههای صفحه و پردازش هر بازه در یک رشته جداگانه، در حالی که مصرف حافظه را نظارت میکنید.برای استفاده از ویژگیهای OCR چه لایسنی لازم است؟
OCR بهطور کامل با داشتن یک لایسنس معتبر Aspose.PDF for .NET در دسترس است؛ میتوان برای ارزیابی یک لایسنس موقت دریافت کرد.کجا میتوانم مستندات بیشتری درباره تنظیمات OCR پیدا کنم؟
راهنماییهای دقیق پیکربندی OCR در مستندات تنظیمات OCR Aspose.PDF در آدرس https://docs.aspose.com/pdf/net/ موجود است.
