Како извући структуриране податке и табеле из ПДФ-а у .NET
Истраживање табела и структурираних података из ПДФ-а је уобичајена задатак за аналитичаре, рачуноводце и свакога ко ради са извештајима или финансијским изјавама. Aspose.PDF.Plugin за .NET нуди програмске опције за откривање, парсирање и извоз таблица као што су плоски текст, ЦСВ или ЈСОН.
Идентификовање табела у ПДФ тексту
- Једноставан ПДФ: Табеле са јасним ћелијским границама (таб, простор или линијски делимитери) најлакше се извлаче.
- Визуелна инспекција: Истражите сирови или чисти текст и инспектирајте за конзистентне обрасци редова / колона.
- Херистички Парсинг: Користите логику (на пример, редовне изразе, делимитери) да бисте идентификовали вероватне редове и колоне из извученог текста.
Пример: Извоз табела као ЦСВ
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));
}
}Пример: Извоз табела као ЈСОН
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));Ограничења и напредни савети
- Merged/Spanned Cells: Većina programmatske ekstrakcije ne može pouzdano detektirati spajene ili multi-row ćelije; može se zahtevati ručni pregled ili prilagođena logika.
- Комплексне табеле: Табела са сликама, графиком или неправилним распоредом захтевају напредни парсинг или визуелни алат за екстракцију стола.
- Прецизност: Екстракција је најбоља са једноставним, добро структурираним табелама; увек прегледати излаз и прилагодити логику парсинг за ваше податке.
Коришћење случајева
- Финансијска анализа и ревизије (екстрактни лидгери, табеле трошкова)
- Истраживање и подаци о повратним информацијама (парсе масовне табеле одговора)
- Миграција података из наследног ПДФ-а у базе или Екцел
Često postavljana pitanja
**П: Да ли се спојене ћелије могу открити или обрадити аутоматски?**А: Непоуздано - мешане / исцрпљене ћелије обично захтевају ручну корекцију или визуелни преглед након екстракције.
**П: Да ли је извлачење података увек 100% тачно?**А: Не – резултати зависе од структуре табеле, форматирања и ПДФ Увек прегледајте извучене табеле и, ако је потребно, чистите их користећи прилагођене правила или скрипте.
**Q: Који је најбољи режим за екстракцију стола?**A: Počnite sa načinom Pure za strukturirane tabele. način sirovine može biti koristan za rudarenje podataka ili prilagođenu heuristiku.
Про Савет: Да бисте поновили екстракције, уклоните своју логику парсинг за сваки шаблон извештаја ЦСВ и ЈСОН Za maksimalnu fleksibilnost.