در بسیاری از جریان‌های کاری تجاری، اسناد 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#

  1. PDF اسکن‌شده را در یک Aspose.Pdf.Document بارگذاری کنید.
  2. گزینه‌های OCR را پیکربندی کنید (زبان، وضوح، جداکننده صفحه).
  3. یک OcrTextAbsorber را بر روی مجموعه صفحات سند اعمال کنید.
  4. متن شناسایی‌شده را بازیابی کرده و ذخیره کنید.

این مثال بارگذاری یک 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#

  1. راه‌حل .NET خود را در Visual Studio باز کنید.
  2. Package Manager Console را باز کنید و Install-Package Aspose.PDF را اجرا کنید.
  3. using Aspose.Pdf; و using Aspose.Pdf.Ocr; را در بالای فایل کلاس خود اضافه کنید.
  4. اطمینان حاصل کنید که یک لایسنس موقت یا کامل دارید؛ بدون آن، خروجی ممکن است حاوی واترمارک باشد.

برای جزئیات مجوز، به صفحهٔ مجوز موقت مراجعه کنید.

پیاده‌سازی گام‌به‌گام در C#

این بخش به چه سوالی پاسخ می‌دهد؟ مراحل دقیق کد برای استخراج متن چیست؟

  1. مستند را مقداردهی اولیه کنید
    var pdfPath = "path/to/scanned.pdf";
    var document = new Document(pdfPath);
    
  2. ایجاد گزینه‌های OCR
    var ocrOptions = new OcrTextRecognitionOptions
    {
        Language = OcrLanguage.English,
        Resolution = 300,
        PageSeparator = "\n--- Page Break ---\n"
    };
    
  3. اجرای جذب‌کننده
    var absorber = new OcrTextAbsorber(ocrOptions);
    document.Pages.Accept(absorber);
    
  4. دسترسی به متن استخراج‌شده
    string extractedText = absorber.Text;
    
  5. ذخیره یا پردازش متن
    System.IO.File.WriteAllText("output.txt", extractedText);
    

کد همان جریان مثال جامع بالا را دنبال می‌کند اما منطق را به گام‌های قابل هضم تقسیم می‌نماید.

دریافت یک لایسنس رایگان

Aspose.PDF را به‌صورت رایگان ارزیابی کنید با درخواست یک مجوز موقت از اینجا: https://purchase.aspose.com/temporary-license/

منابع اضافی رایگان

نتیجه‌گیری

این راهنما شما را در استخراج متن از PDFهای اسکن‌شده با استفاده از Aspose.PDF OCR در C# راهنمایی کرد. شما یاد گرفتید چگونه کتابخانه را نصب کنید، گزینه‌های OCR را برای دقت پیکربندی کنید، یک خط لوله استخراج تمیز پیاده‌سازی کنید و بهینه‌سازی‌های عملکردی را برای اسناد بزرگ اعمال کنید. با این تکنیک‌ها، هر توسعه‌دهنده .NET می‌تواند PDFهای فقط‑تصویری را به جریان‌های متنی قابل جستجو و قابل ویرایش تبدیل کند.

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

  1. چگونه می‌توانم متن را از یک PDF اسکن‌شده در C# با استفاده از Aspose.PDF استخراج کنم؟
    یک Document ایجاد کنید، OcrTextRecognitionOptions را پیکربندی کنید، یک OcrTextAbsorber را بر روی صفحات اجرا کنید و مقدار ویژگی Text را بخوانید.

  2. کدام زبان‌های OCR توسط Aspose.PDF پشتیبانی می‌شوند؟
    این کتابخانه از بسیاری از زبان‌ها از طریق enum OcrLanguage پشتیبانی می‌کند، از جمله انگلیسی، فرانسوی، آلمانی، اسپانیایی، چینی و غیره.

  3. چگونه می‌توانم دقت OCR را برای اسکن‌های با وضوح پایین بهبود دهم؟
    Resolution را افزایش دهید (مثلاً 300 DPI)، زبان صحیح را انتخاب کنید و پیش‌پردازش تصاویر برای افزایش کنتراست را در نظر بگیرید.

  4. آیا پردازش همزمان PDFهای بزرگ ایمن است؟
    بله، با تقسیم سند به بازه‌های صفحه و پردازش هر بازه در یک رشته جداگانه، در حالی که مصرف حافظه را نظارت می‌کنید.

  5. برای استفاده از ویژگی‌های OCR چه لایسنی لازم است؟
    OCR به‌طور کامل با داشتن یک لایسنس معتبر Aspose.PDF for .NET در دسترس است؛ می‌توان برای ارزیابی یک لایسنس موقت دریافت کرد.

  6. کجا می‌توانم مستندات بیشتری درباره تنظیمات OCR پیدا کنم؟
    راهنمایی‌های دقیق پیکربندی OCR در مستندات تنظیمات OCR Aspose.PDF در آدرس https://docs.aspose.com/pdf/net/ موجود است.

بیشتر بخوانید