Kuinka poistaa rakenteelliset tiedot ja taulukot PDF:stä .NET: ssä

Kuinka poistaa rakenteelliset tiedot ja taulukot PDF:stä .NET: ssä

Taulukkojen ja rakenteellisten tietojen poistaminen PDF-tiedostosta on yleinen tehtävä analyytikkoille, kirjanpitäjille ja kaikille, jotka työskentelevät raporttien tai rahoitusilmoitusten kanssa. Aspose.PDF.Plugin for .NET tarjoaa ohjelmattisia vaihtoehtoja taulukoiden havaitsemiseksi, parsimiseksi ja vientiä varten, kuten suora teksti, CSV tai JSON.

Tabelien tunnistaminen PDF-tekstissä

  • Yksinkertainen PDF: Tabelit, joilla on selkeät solun rajat (tab, tilaa tai linjan rajaajat), on helpoin poistaa.
  • Visuaalinen tarkastus: Tuoda raaka tai puhdas teksti ja tarkistaa johdonmukaisia rivi / sarakkeen malleja.
  • Heuristic Parsing: Käytä logiikkaa (esim. säännölliset ilmaisut, rajaajat) tunnistamaan todennäköisiä rivejä ja sarakkeita poistetusta tekstistä.

Esimerkki: Tabelien vienti CSV: ssä

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));
    }
}

Esimerkki: Tabelit vientiä 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));

Rajat ja edistykselliset vinkit

  • Merged/Spanned Cells: Suurin osa ohjelmattisesta tuotannosta ei voi luotettavasti havaita sulautuneita tai monikerroksisia soluja; manuaalinen tarkastelu tai räätälöity logiikka voi olla tarpeen.
  • Kompleksit taulukot: Taulukoita, joissa on kuvia, grafiikkaa tai epäsäännöllisiä järjestelyjä, tarvitaan edistyksellistä parsinta tai visuaalisen pöytäkäyttö työkalu.
  • Tarkkuus: Tuotanto on parasta yksinkertaisilla, hyvin rakenteilla olevilla taulukoilla; aina tarkistetaan tuotantoa ja säädetään tietosi loogista.

Käytä tapauksia

  • Taloudellinen analyysi ja tilintarkastukset (tuotantorjunnat, kustannustaulukot)
  • Kyselyn ja palautetta koskevat tiedot (parse bulk response tables)
  • Tietojen siirtäminen perinnöllisistä PDF-tiedostoista tietokantoihin tai Exceliin

Usein kysyttyjä kysymyksiä

**Q: Voiko yhdistettyjä soluja havaita tai käsitellä automaattisesti?**A: Ei luotettavasti – sekoitetut/pohjatut solut vaativat yleensä manuaalista korjausta tai visuaalisen tarkastuksen poistamisen jälkeen.

**Q: Onko tiedonlähtö aina 100% tarkka?**A: Ei – tulokset riippuvat taulukon rakenteesta, muotoilusta ja PDF Aina tarkastella poistettuja taulukoita ja tarvittaessa puhdistaa käyttämällä räätälöityjä sääntöjä tai skriptejä.

**Q: Mikä on paras tila pöytäkäyttöön?**A: Aloita rakennettujen taulukoiden puhtaalla tilalla. raaka-tila voi olla hyödyllistä tietojen kaivamiseen tai räätälöityyn heuristiikkaan.

Pro Vinkki: Toistuvat poikkeukset, puhdista parsing logiikka jokaisen raportin malli CSV ja JSON Maksimaalinen joustavuus.

 Suomi