Hvordan til at udveksle strukturerede data og tabeller fra PDF i .NET
Udvinding af tabeller og strukturerede data fra PDF’er er en almindelig opgave for analytikere, regnskabsmænd og alle, der arbejder med rapporter eller finansielle rapporter. Aspose.PDF.Plugin for .NET tilbyder programmeringsmuligheder til at opdage, parsende og eksportere tabel som blank tekst, CSV eller JSON.
Identifikation af tabeller i PDF-tekst
- Simple PDF: Tabeller med klare cellegrænser (tab, rum eller linje delimitter) er nemmere at udveksle.
- Visual Inspection: Uddrag rå eller ren tekst og inspicere for konsekvent række/kolonne mønstre.
- Heuristisk Parsing: Brug logik (f.eks. regelmæssige udtryk, delimitter) til at identificere sandsynlige rader og kolumner fra udvundet tekst.
Eksempel: Eksportering af tabeller som 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));
}
}Eksempel: Eksportering af tabeller som 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));Begrænsninger og avancerede tips
- Merged/Spanned Cells: De fleste programmerede ekstraktioner kan ikke pålideligt opdage blandede eller multi-roue celler; manuel gennemgang eller tilpasset logik kan kræves.
- Komplekstabler: Tabler med billeder, grafik eller uregelmæssige layouter kræver avanceret parsing eller et visuelt bord ekstraktionsværktøj.
- Accuracy: Extraction er bedst med enkle, velstrukturerede tabeller; altid gennemgå udgang og justere parsing logik til dine data.
Brug af sager
- Finansielle analyser og revisioner (ekstrakt ledger, udgiftstabler)
- Undersøgelses- og feedbackdata (parse bulk responstabler)
- Data migration fra arv PDF’er til databaser eller Excel
Ofte stillede spørgsmål
**Q: Kan blandede celler opdages eller behandles automatisk?**A: Ikke pålideligt – blandede/spannede celler kræver normalt manuel korrigering eller visuel undersøgelse efter ekstraktion.
**Q: Er dataudvinding altid 100% nøjagtig?**A: Nej – resultaterne afhænger af tabelstruktur, formatering og PDF Altid gennemgå udvundne tabeller og, hvis det er nødvendigt, rengøre ved hjælp af tilpassede regler eller skript.
**Q: Hvad er den bedste metode til bordekstraktion?**A: Start med Pure mode for strukturerede tabeller. Raw mode kan være nyttigt for data mining eller tilpasset heuristik.
Pro Tip: For at gentage ekstraktioner, tynde din parsing logik for hver rapport maling CSV og JSON Til maksimal fleksibilitet.