چگونه متن را از PDF ها در .NET استخراج کنیم

چگونه متن را از PDF ها در .NET استخراج کنیم

این مقاله نشان می دهد که چگونه متن را از اسناد PDF با استفاده از Aspose.PDF Text Extractor برای .NET استخراج کنید.شما یاد خواهید گرفت که از تمام حالت های تخلیه پشتیبانی شده استفاده کنید - خالص، خام و صاف - و جریان های کار خودکار برای PDF های فردی یا چندگانه.

مشکل دنیای واقعی

برای برنامه های کاربردی در تجزیه و تحلیل داده ها، مهاجرت اسناد، یا آرشیو، استخراج متن اتوماتیک تضمین سازگاری، سرعت، و دقت.

بررسی راه حل

Aspose.PDF Text Extractor برای .NET یک رابط کاربری تمیز و قابل برنامه ریزی برای استخراج متن در فرمت های مختلف را فراهم می کند.در میان حالت های خالص، خام و صاف انتخاب کنید تا مورد استفاده شما مطابقت داشته باشد – آیا شما نیاز به خروجی، داده های خام یا محتوای صاف دارید.

پیش شرط

  • Visual Studio 2019 یا بالاتر
  • .NET 6.0 یا بالاتر
  • Aspose.PDF برای .NET نصب شده از طریق NuGet
PM> Install-Package Aspose.PDF

پیاده سازی گام به گام

مرحله 1: نصب و تنظیم Aspose.PDF

using Aspose.Pdf.Plugins;
using System.IO;

مرحله 2: استخراج متن با استفاده از حالت پیش فرض (Raw)

using (var extractor = new TextExtractor())
{
    var options = new TextExtractorOptions(); // Raw mode by default
    options.AddInput(new FileDataSource("input.pdf"));
    var resultContainer = extractor.Process(options);
    string textExtracted = resultContainer.ResultCollection[0].ToString();
    Console.WriteLine(textExtracted);
}

مرحله 3: استخراج متن در حالت خالص یا مسطح

  • **حالت خالص: ** موقعیت های نسبی را حفظ می کند و فضاهای مربوط به هماهنگی را افزایش می دهد.
  • **حالت برنامه ریزی: ** نوار فرمت، خروجی متن با فضای حداقل.
using (var extractor = new TextExtractor())
{
    var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Pure); // Or .Plain
    options.AddInput(new FileDataSource("input.pdf"));
    var resultContainer = extractor.Process(options);
    string textExtracted = resultContainer.ResultCollection[0].ToString();
    Console.WriteLine(textExtracted);
}

استفاده از موارد و برنامه ها (با تغییرات کد)

1. Batch استخراج متن از PDF های متعدد

string[] files = Directory.GetFiles(@"C:\PDFs", "*.pdf");
using (var extractor = new TextExtractor())
{
    var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Pure);
    foreach (var file in files)
        options.AddInput(new FileDataSource(file));
    var resultContainer = extractor.Process(options);
    for (int i = 0; i < resultContainer.ResultCollection.Count; i++)
    {
        string extracted = resultContainer.ResultCollection[i].ToString();
        // Save to disk, process, or analyze as needed
        File.WriteAllText($@"C:\PDFs\out\{Path.GetFileNameWithoutExtension(files[i])}.txt", extracted);
    }
}

2. انتخاب حالت استخراج بر اساس مورد استفاده

  • Pure برای طرح های جدول یا فرمت فضایی استفاده کنید.
  • Plain برای استخراج یا تجزیه و تحلیل داده های تمیز استفاده کنید.
  • Raw برای متن بدون پردازش استفاده کنید.

3. تصویری از متن استخراج شده

پس از استخراج، استفاده از regex، تمیز کردن متن، و یا ارسال نتایج به سایر خدمات (برای جستجو، لوله های ML و غیره).

4. تولید استخراج با لوله های داده

استخراج اتوماتیک به عنوان بخشی از یک جریان کار گسترده تر ETL، گزارش و یا مدیریت اسناد با استفاده از شیوه های استاندارد .NET.

چالش ها و راه حل های مشترک

تحدی: خروجی نامناسب به دلیل ساختار پیچیده PDFراه حل: روش های مختلف استخراج را امتحان کنید (خالص، صاف، خام) و نتایج را مقایسه کنید.

تحدی: سرعت استخراج باتچ**راه حل: ** استفاده از یک واحد TextExtractor مثال و پردازش چندین فایل در یک اجرا برای بهترین عملکرد.

چالش: ** کاراکترهای خاص یا مشکلات رمزگذاریراه حل:** از حالت صاف برای فرمت حداقل استفاده کنید، سپس به صورت سفارشی پردازش نوار را در صورت لزوم اعمال کنید.

عملکرد و بهترین شیوه ها

  • آزمایش تمام سه حالت استخراج برای تعیین نتایج مطلوب برای نوع سند شما
  • ذخیره PDF های اصلی قبل از عملیات بسته بندی
  • معامله با نام های محصول و سازمان در کارهای بسته بندی
  • مدیریت خطای یکپارچه و ثبت نام برای استقامت

نمونه کامل اجرای

using Aspose.Pdf.Plugins;
using System;
using System.IO;

class Program
{
    static void Main()
    {
        using (var extractor = new TextExtractor())
        {
            var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Plain);
            options.AddInput(new FileDataSource(@"C:\PDFs\input.pdf"));
            var resultContainer = extractor.Process(options);
            string textExtracted = resultContainer.ResultCollection[0].ToString();
            File.WriteAllText(@"C:\PDFs\output.txt", textExtracted);
        }
    }
}

نتیجه گیری

Aspose.PDF Text Extractor برای .NET به شما ابزارهای قدرتمند و انعطاف پذیر برای استخراج متن در فرمت های متعدد می دهد – مناسب برای پردازش داده ها، آرشیو یا تجزیه و تحلیل.

 فارسی