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

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

استخراج جدول ها و داده های ساختاری از فایل های PDF یک وظیفه رایج برای تحلیلگران، حسابداران و هر کسی است که با گزارش ها یا گزارش های مالی کار می کند. Aspose.PDF.Plugin برای .NET گزینه های برنامه نویسی را برای شناسایی، پارسینگ و صادرات جدول هایی مانند متن صاف، CSV یا JSON ارائه می دهد.

شناسایی جدول ها در متن PDF

  • بسیار ساده PDF: جدول ها با مرزهای سلولی روشن (تاب، فضا یا خطوط) آسان تر برای استخراج هستند.
  • بازرسی بصری: متن خام یا خالص را استخراج کنید و برای الگوهای ردیف / ستون سازگار بررسی کنید.
  • پارسینگ هیوری: از منطق (به عنوان مثال، عبارات منظم، حداکثر) برای شناسایی ردیف ها و ستون های احتمالی از متن استخراج شده استفاده کنید.

مثال: صادرات جدول به عنوان CSV

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

string input = @"C:\Docs\financial-report.pdf";
var extractor = new TextExtractor();
var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Pure);
options.AddInput(new FileDataSource(input));
string extracted = extractor.Process(options).ResultCollection[0].ToString();

// Simple parsing: Assume rows separated by '\n', columns by tabs or spaces
var rows = extracted.Split('\n');
using (var writer = new StreamWriter(@"C:\Docs\extracted-table.csv"))
{
    foreach (var row in rows)
    {
        var columns = row.Split(new[] {'\t', ' '}, StringSplitOptions.RemoveEmptyEntries);
        writer.WriteLine(string.Join(",", columns));
    }
}

مثال: صادرات جدول به عنوان JSON

using System.Text.Json;
var table = rows
    .Where(r => r.Trim().Length > 0)
    .Select(r => r.Split(new[] {'\t', ' '}, StringSplitOptions.RemoveEmptyEntries))
    .ToList();

File.WriteAllText(@"C:\Docs\extracted-table.json", JsonSerializer.Serialize(table));

محدودیت ها و راهنمایی های پیشرفته

  • سلول های ترکیب شده: اکثر استخراج های برنامه نویسی نمی توانند به طور قابل اعتماد سلولی ترکیبی یا چند قوس را تشخیص دهند؛ ممکن است نیاز به بررسی دستی یا منطق سفارشی داشته باشند.
  • جدول های پیچیده: جدول هایی که دارای تصاویر، گرافیک یا طرح های غیر منظم هستند، نیاز به پارسینگ پیشرفته یا یک ابزار استخراج جدول بصری دارند.
  • دقت: استخراج بهترین با جدول های ساده و خوب ساختار شده است؛ همیشه خروجی را بررسی کنید و منطق پارسینگ را برای داده های خود تنظیم کنید.

موارد استفاده

  • تجزیه و تحلیل مالی و حسابرسی (نقش های استخراج، جدول هزینه)
  • داده های نظرسنجی و بازخورد (برچسب های پاسخ جمعی پارس)
  • انتقال داده ها از PDF های ارثی به پایگاه داده یا اکسل

پرسش های مکرر

**Q: آیا سلول های مخلوط می توانند به طور خودکار شناسایی یا پردازش شوند?**A: قابل اطمینان نیست – سلول های مخلوط / تیره معمولا پس از استخراج، نیاز به اصلاح دستی یا بررسی بصری دارند.

**Q: آیا استخراج داده ها همیشه 100٪ دقیق است?**A: نه – نتایج بستگی به ساختار میز، فرمت، و PDF کیفیت: همیشه جدول های استخراج شده را بررسی کنید و در صورت لزوم با استفاده از قوانین یا اسکریپت های سفارشی تمیز کنید.

**Q: بهترین حالت برای استخراج میز چیست?**A: با حالت خالص برای جدول های ساختار یافته شروع کنید. حالت خام ممکن است برای استخراج داده ها یا هورستیک سفارشی مفید باشد.

پرو راهنمایی: برای تکرار استخراج، منطق پارسینگ خود را برای هر قالب گزارش تمیز کنید CSV و JSON حداکثر انعطاف پذیری.

 فارسی