Πώς να εξαγάγετε δομημένα δεδομένα και πίνακες από το PDF στο .NET

Πώς να εξαγάγετε δομημένα δεδομένα και πίνακες από το PDF στο .NET

Η εξαγωγή πίνακων και δομημένων δεδομένων από τα PDFs είναι ένα κοινό καθήκον για τους αναλυτές, τους λογιστές και όποιον εργάζεται με εκθέσεις ή οικονομικές καταστάσεις. Το Aspose.PDF.Plugin για το .NET προσφέρει προγραμματικές επιλογές για την ανίχνευση, τη διαίρεση και την εξάπλωση των τραπεζών όπως το κείμενο, το CSV ή το JSON.

Αναγνώριση πίνακων σε PDF κείμενο

  • Ένα απλό PDF: Τα τραπέζια με σαφή κυτταρικά όρια (tab, space ή line delimiters) είναι πιο εύκολο να αφαιρεθούν.
  • Visual Inspection: Εξαγωγή πρώτου ή καθαρού κειμένου και επιθεώρηση για συνεπή γραμμή / στήλη πρότυπα.
  • Heuristic Parsing: Χρησιμοποιήστε τη λογική (π.χ. τακτικές εκφράσεις, οριοθέτες) για να εντοπίσετε πιθανές γραμμές και στήλες από το κείμενο που εξάγεται.

Παράδειγμα: Εξαγωγή πίνακων ως 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));
    }
}

Παράδειγμα: Εξαγωγή πίνακων ως 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));

Περιορισμοί και προηγμένες συμβουλές

  • Μετασυνδεδεμένα κύτταρα: Οι περισσότερες προγραμματικές εκχυλίσσεις δεν μπορούν να ανιχνεύσουν αξιόπιστα συγχωνευμένα ή πολλαπλά κελιά· μπορεί να απαιτηθεί χειροκίνητη αναθεώρηση ή προσαρμοσμένη λογική.
  • Σύνθετα τραπέζια: Τα τραπεζογραμμάτια με εικόνες, γραφικά ή ακανόνιστες διατάξεις απαιτούν προηγμένο parsing ή ένα εργαλείο εκχύλισης οπτικού τραπεζίτη.
  • Αξιολόγηση: Η εξόρυξη είναι καλύτερη με απλούς, καλά δομημένους πίνακες. πάντα να αναθεωρήσετε την παραγωγή και να προσαρμόσετε τη λογική του διαχωρισμού για τα δεδομένα σας.

מקרים בשימוש

  • Χρηματοοικονομική ανάλυση και ελέγχους (εξαγωγικά αποθέματα, πίνακες δαπανών)
  • Πληροφορίες έρευνας και ανατροφοδότησης (μαζικές πίνακες ανταπόκρισης)
  • Μετανάστευση δεδομένων από κληρονομικά PDF σε βάσεις δεδομένα ή Excel

Συχνές ερωτήσεις

**Q: Μπορούν τα συγχωνευμένα κύτταρα να ανιχνευθούν ή να χειριστούν αυτόματα?**Α: Δεν είναι αξιόπιστο - τα συγκολλημένα / σπασμένα κύτταρα συνήθως απαιτούν χειροκίνητη διόρθωση ή οπτική εξέταση μετά την εκχύλιση.

**Q: Είναι η εξόρυξη δεδομένων πάντα 100% ακριβής?**Α: Όχι – τα αποτελέσματα εξαρτώνται από τη δομή του πίνακα, τη μορφοποίηση και PDF Πάντα αναθεωρήστε τα αποσυνδεδεμένα τραπέζια και, εάν είναι απαραίτητο, καθαρίστε το χρησιμοποιώντας προσαρμοσμένους κανόνες ή σενάρια.

**Q: Ποιος είναι ο καλύτερος τρόπος για την εξόρυξη τραπεζιού?**Α: Ξεκινήστε με τη λειτουργία Pure για δομημένα τραπέζια. η λειτουργία Raw μπορεί να είναι χρήσιμη για την εξόρυξη δεδομένων ή την προσαρμοσμένη υουριστική.

Pro Συμβουλή: Για επαναλαμβανόμενες εκχυλίσσεις, καθαρίστε τη λογική σας για κάθε πρότυπο έκθεσης ΚΣΒ και JSON Για μέγιστη ευελιξία.

 Ελληνικά