Kā izņemt strukturētus datus un tabulas no PDF .NET
Tabulu un strukturētu datu ekstrakcija no PDF ir kopīgs uzdevums analītiķiem, grāmatvežiem un ikvienam, kas strādā ar ziņojumiem vai finanšu pārskatiem. Aspose.PDF.Plugin for .NET piedāvā programmatiskas iespējas tabulu atklāšanai, izrakstīšanai un eksportēšanai kā plašs teksts, CSV vai JSON.
Identifikācija tabulās PDF tekstā
- ** Vienkāršs PDF:** Tabulas ar skaidriem šūnu robežām (tab, telpa vai līnijas mērītāji) ir vieglāk izrakstīt.
- Vizuālā inspekcija: Izrakstīt izejvielu vai tīru tekstu un pārbaudiet konsekventu rindas / kolonnas paraugus.
- Heuristic Parsing: Izmanto loģiku (piemēram, regulāras izteiksmes, delimiteri), lai identificētu iespējamās rindas un kolonnas no iegūtā teksta.
Piemērs: eksporta tabulas kā 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));
}
}
Piemērs: eksporta tabulas kā 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));
ierobežojumi un progresīvie padomi
- Merged/Spanned Cells: Lielākā daļa programmatiskās ekstrakcijas nevar uzticami atklāt apvienotas vai multi-rou šūnas; var būt nepieciešama manuāla pārbaude vai pielāgotā loģika.
- Kompleksas tabulas: Tabulas ar attēliem, grafiku vai neregulāriem izkārtojumiem prasa uzlabotu parsēšanu vai vizuālo tabulu ekstrakcijas rīku.
- Pareizums: Ekstrakcija ir vislabāk ar vienkāršiem, labi strukturētiem tabulām; vienmēr pārskatiet iznākumu un pielāgojiet parazītu loģiku jūsu datiem.
Izmanto gadījumus
- Finanšu analīze un revīzijas (ekstrakts ledgers, izdevumu tabulas)
- Aptauja un atsauksmes dati (parse bulk atbildes tabulas)
- Datu migrācija no mantojuma PDF uz datu bāzēm vai Excel
Bieži uzdotie jautājumi
**Q: Vai apvienotās šūnas var atklāt vai apstrādāt automātiski?**A: Nav uzticami – sadalītās/spanned šūnas parasti prasa manuālu korekciju vai vizuālo pārbaudi pēc ekstrakcijas.
**Q: Vai datu ekstrakcija vienmēr ir 100% precīza?**A: Nē – rezultāti ir atkarīgi no tabulas struktūras, formatēšanas un PDF kvalitātes. vienmēr pārskatiet iegūto tabulu un, ja nepieciešams, tīrījiet to, izmantojot pielāgotus noteikumus vai skriptus.
**Q: Kāds ir labākais režīms galda ekstrakcijai?**A: Sāciet ar tīru režīmu strukturētajām tabulām. izejvielas režīmā var būt noderīga datu ieguves vai pielāgojamās heuristiķa izmantošana.
Pro ieteikums: Atkārtoti ekstrakcijas, rūpīgi noklikšķiniet uz savu parsing loģiku par katru ziņojuma veidni.