Cum să extrageți date și tabele structurate din PDF în .NET
Extractarea tabelelor și a datelor structurate din PDF-uri este o sarcină comună pentru analisti, contabili și oricine lucrează cu rapoarte sau declarații financiare. Aspose.PDF.Plugin pentru .NET oferă opțiuni programatice pentru detectarea, parsarea și exportarea tabelelor, cum ar fi textul plăcut, CSV sau JSON.
Identificarea tabelelor în text PDF
- PDF simplu: Tabelele cu limite clare ale celulelor (tab, spațiu sau limitele de linie) sunt cele mai ușor de extras.
- Inspecție vizuală: Extrageți textul crud sau pur și inspectați pentru modele de rând/colonie consecvente.
- Parsing erotic: Utilizați logica (de exemplu, expresii regulate, delimite) pentru a identifica rândurile și coloanele probabile din textul extras.
Exemplu: Exportarea tabelelor ca 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));
}
}Exemplu: Exportarea tabelelor ca 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));Limitări & Sfaturi avansate
- Cele mai multe extracții programatice nu pot detecta în mod fiabil celulele fuzionate sau multiple; poate fi necesară revizuirea manuală sau logica personalizată.
- Tabele complexe: Tabele cu imagini, grafice sau layouturi neregulate necesită parsing avansat sau un instrument de extracție a tabelului vizual.
- Acuratețea: Extracția este cea mai bună cu tabele simple, bine structurate; întotdeauna revizuiți rezultatul și ajustați logica parțului pentru datele dvs.
Utilizarea cazurilor
- Analiza financiară și auditurile (limite de extracție, tabele de cheltuieli)
- Date de anchetă și feedback (tabele de răspuns masiv parse)
- Migrația datelor din PDF-uri de moștenire la baze de date sau Excel
Întrebări frecvente
**Q: Poate fi detectate sau manipulate celulele mixt automat?**A: Nu este de încredere – celulele amestecate/spanned necesită de obicei o corecție manuală sau o revizuire vizuală după extracție.
**Q: Este întotdeauna 100% corectă extracția datelor?**A: Nu – rezultatele depind de structura tabelului, formatul și PDF Verificați întotdeauna tabelele extrase și, dacă este necesar, curățați folosind reguli sau scripturi personalizate.
**Q: Care este cel mai bun mod pentru extracția de masă?**A: Începeți cu modul Pure pentru tabele structurate. modul Raw poate fi util pentru minarea datelor sau pentru heuristică personalizată.
Pro Sfat: Pentru a repeta extractele, fin-tune logica parsing pentru fiecare șablon de raport CSV şi JSON Pentru o flexibilitate maximă.