چگونه داده ها و جدول های ساختاری را از 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 حداکثر انعطاف پذیری.