Πώς να κάνετε εξαγωγή πινάκων PDF σε Java με το GroupDocs.Parser

Η εξαγωγή πινάκων από αρχεία PDF είναι συχνή απαίτηση όταν χρειάζεται να μετατρέψετε στατικά έγγραφα σε δομημένα δεδομένα. Σε αυτό το tutorial θα μάθετε πώς να εξάγετε πίνακες από PDF χρησιμοποιώντας τη βιβλιοθήκη GroupDocs.Parser για Java. Θα καλύψουμε τη ρύθμιση του περιβάλλοντος, τη διαμόρφωση διάταξης πινάκων και πώς να εξάγετε pdf tables csv για επεξεργασία downstream. Στο τέλος, θα μπορείτε να ενσωματώσετε αξιόπιστη εξαγωγή πινάκων σε οποιοδήποτε pipeline δεδομένων βασισμένο σε Java.

Σύντομες απαντήσεις

  • Ποια είναι η κύρια βιβλιοθήκη; GroupDocs.Parser for Java
  • Μπορώ να εξάγω πίνακες από σαρωμένα PDF; Μόνο μετά από OCR· δείτε την σημείωση “extract tables scanned pdf” παρακάτω
  • Χρειάζομαι άδεια; Μια δοκιμαστική άδεια λειτουργεί για ανάπτυξη· απαιτείται πλήρης άδεια για παραγωγή
  • Ποια έκδοση Java απαιτείται; Java 8 ή νεότερη
  • Υποστηρίζεται επεξεργασία παρτίδων; Ναι – το API είναι βελτιστοποιημένο για εξαγωγή μεγάλης κλίμακας

Τι είναι η εξαγωγή πινάκων PDF σε Java;

Η εξαγωγή πινάκων PDF σε Java είναι η διαδικασία προγραμματιστικής εντοπισμού δομών πίνακα μέσα σε PDF, ερμηνείας των ορίων των κελιών και ανάκτησης του κειμένου σε μορφή που μπορεί να διαβαστεί από μηχανή, όπως CSV ή Excel. Αυτό επιτρέπει downstream analytics, αναφορές ή εργασίες μετανάστευσης χωρίς χειροκίνητη αντιγραφή‑επικόλληση.

Γιατί να χρησιμοποιήσετε το GroupDocs.Parser για εξαγωγή πινάκων PDF σε Java;

Το GroupDocs.Parser προσφέρει ακριβή ανίχνευση διάταξης για πάνω από 50 + μορφές εισόδου και εξόδου και μπορεί να επεξεργαστεί PDF εκατοντάδων σελίδων διατηρώντας τη χρήση μνήμης κάτω από 200 MB. Υποστηρίζει εργασίες παρτίδας, προσφέρει απλή εξάρτηση Maven και ενσωματώνεται απρόσκοπτα με το GroupDocs OCR για σενάρια σαρωμένων εγγράφων.

Προαπαιτούμενα

  • Java 8+ εγκατεστημένη και ρυθμισμένη στο IDE ή το εργαλείο κατασκευής σας.
  • Maven για διαχείριση εξαρτήσεων.
  • Πρόσβαση σε άδεια GroupDocs.Parser (δοκιμαστική ή πλήρης).

Απαιτούμενες βιβλιοθήκες και εξαρτήσεις

Θα χρειαστείτε:

  • Βιβλιοθήκη GroupDocs.Parser for Java (έκδοση 25.5 ή νεότερη).
  • Maven εγκατεστημένο στο σύστημά σας για διαχείριση εξαρτήσεων.

Ρύθμιση περιβάλλοντος

Βεβαιωθείτε ότι το περιβάλλον ανάπτυξης είναι ρυθμισμένο με συμβατή έκδοση της Java (Java 8 ή νεότερη).

Προαπαιτούμενη γνώση

Βασική κατανόηση του προγραμματισμού Java και εξοικείωση με τη διαχείριση αρχείων σε Java θα είναι επωφελής.

Ρύθμιση του GroupDocs.Parser για Java

Για να αρχίσετε να χρησιμοποιείτε το GroupDocs.Parser, ενσωματώστε το στο έργο σας ως εξής:

Ρύθμιση Maven
Προσθέστε την παρακάτω διαμόρφωση στο αρχείο pom.xml σας για να συμπεριλάβετε το GroupDocs.Parser ως εξάρτηση:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/parser/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-parser</artifactId>
      <version>25.5</version>
   </dependency>
</dependencies>

Λήψη άμεσα
Εναλλακτικά, κατεβάστε την πιο πρόσφατη έκδοση του GroupDocs.Parser for Java από εκδόσεις GroupDocs.

Απόκτηση άδειας

Ξεκινήστε με μια δωρεάν δοκιμή, αποκτήστε προσωρινή άδεια ή αγοράστε πλήρη άδεια. Επισκεφθείτε τη σελίδα αδειοδότησης GroupDocs για λεπτομέρειες.

Βασική αρχικοποίηση και ρύθμιση

Αρχικοποιήστε το GroupDocs.Parser στην εφαρμογή Java ως εξής:

import com.groupdocs.parser.Parser;

public class DocumentParser {
    public static void main(String[] args) {
        final String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleInvoicePagesPdf.pdf";
        try (Parser parser = new Parser(filePath)) {
            // Ready to perform operations on the document
        } catch (Exception e) {
            System.err.println("Error creating Parser instance: " + e.getMessage());
        }
    }
}

Οδηγός υλοποίησης

Ας περάσουμε από κάθε χαρακτηριστικό που χρειάζεται να κατακτήσετε πώς να εξάγετε πίνακες από ένα PDF.

Χαρακτηριστικό 1: ανάλυση εγγράφου με το GroupDocs

Επισκόπηση
Για να αλληλεπιδράσετε με ένα έγγραφο PDF, δημιουργήστε μια παρουσία της κλάσης Parser.
Parser είναι η κλάση εισόδου για ανάγνωση περιεχομένου PDF στο GroupDocs.Parser. Αυτό επιτρέπει διάφορες λειτουργίες στο έγγραφο.

Δημιουργία παραδείγματος parser
Η κλάση Parser είναι το σημείο εισόδου για ανάγνωση περιεχομένου PDF στο GroupDocs.Parser. Φορτώνει το έγγραφο στη μνήμη και εκθέτει μεθόδους για εξαγωγή κειμένου, πινάκων και άλλων δομών.

import com.groupdocs.parser.Parser;

public class CreateParserInstance {
    public static void main(String[] args) {
        final String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleInvoicePagesPdf.pdf";
        try (Parser parser = new Parser(filePath)) {
            // Document is ready for operations
        } catch (Exception e) {
            System.err.println("Error creating Parser instance: " + e.getMessage());
        }
    }
}

Χαρακτηριστικό 2: έλεγχος δυνατότητας εξαγωγής πινάκων

Επισκόπηση
Πριν εξάγετε πίνακες, επαληθεύστε ότι το PDF υποστηρίζει εξαγωγή πινάκων.

Έλεγχος υποστήριξης πινάκων
Η μέθοδος hasTables() επιστρέφει boolean που υποδεικνύει εάν το φορτωμένο PDF περιέχει ανιχνεύσιμα δεδομένα πίνακα.
hasTables() ελέγχει αν το έγγραφο περιέχει πίνακες.

import com.groupdocs.parser.Parser;

public class CheckTableSupport {
    public static void main(String[] args) {
        final String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleInvoicePagesPdf.pdf";
        try (Parser parser = new Parser(filePath)) {
            boolean isTablesSupported = parser.getFeatures().isTables();
            
            if (!isTablesSupported) {
                System.out.println("Document doesn't support tables extraction.");
            }
        } catch (Exception e) {
            System.err.println("Error checking table extraction capability: " + e.getMessage());
        }
    }
}

Χαρακτηριστικό 3: διαμόρφωση διάταξης πινάκων

Επισκόπηση
Η διαμόρφωση της διάταξης των πινάκων σας μπορεί να βελτιώσει την ακρίβεια στην εξαγωγή δεδομένων.

Ρύθμιση διάταξης πινάκων
TemplateTableLayout ορίζει τα αναμενόμενα πλάτη στηλών και ύψη γραμμών.
TemplateTableLayout καθορίζει προσαρμοσμένα πλάτη στηλών και ύψη γραμμών για την ανίχνευση πινάκων. Η προσαρμογή αυτών των τιμών βοηθά τη μηχανή να ευθυγραμμίσει τα όρια των κελιών με το οπτικό πλέγμα.

import com.groupdocs.parser.templates.TemplateTableLayout;
import java.util.Arrays;

public class ConfigureTableLayout {
    public static void main(String[] args) {
        final double[] columnWidths = {50.0, 95.0, 275.0, 415.0, 485.0, 545.0};
        final double[] rowHeights = {325.0, 340.0, 365.0, 395.0};

        TemplateTableLayout layout = new TemplateTableLayout(
                Arrays.asList(columnWidths), 
                Arrays.asList(rowHeights));
    }
}

Χαρακτηριστικό 4: ρύθμιση επιλογών εξαγωγής πινάκων

Επισκόπηση
Ρυθμίστε επιλογές για εξαγωγή πινάκων με συγκεκριμένες παραμέτρους ώστε να βελτιώσετε την ακρίβεια εξαγωγής.

Διαμόρφωση επιλογών εξαγωγής
TableExtractionOptions σας επιτρέπει να καθορίσετε αν θα συμπεριληφθούν γραμμές κεφαλίδας, συγχώνευση κελιών ή παράβλεψη κενών γραμμών.
TableExtractionOptions διαμορφώνει τη συμπεριφορά εξαγωγής, όπως η συμπερίληψη κεφαλίδων ή η συγχώνευση κελιών.

import com.groupdocs.parser.options.PageTableAreaOptions;
import com.groupdocs.parser.templates.TemplateTableLayout;

public class SetExtractionOptions {
    public static void main(String[] args) {
        TemplateTableLayout layout = new TemplateTableLayout(
                Arrays.asList(new Double[]{50.0, 95.0, 275.0, 415.0, 485.0, 545.0}), 
                Arrays.asList(new Double[]{325.0, 340.0, 365.0, 395.0}));

        PageTableAreaOptions options = new PageTableAreaOptions(layout);
    }
}

Χαρακτηριστικό 5: εξαγωγή πινάκων από ένα έγγραφο

Επισκόπηση
Εξάγετε πίνακες χρησιμοποιώντας τις ρυθμισμένες επιλογές και επεξεργαστείτε τα όπως χρειάζεται.

Διαδικασία εξαγωγής
Η μέθοδος getTables() επιστρέφει μια συλλογή αντικειμένων Table, το καθένα αντιπροσωπεύει έναν εντοπισμένο πίνακα στις ζητούμενες σελίδες.
getTables() ανακτά όλους τους εντοπισμένους πίνακες από το έγγραφο.
Table αντιπροσωπεύει έναν ενιαίο εξαγόμενο πίνακα με γραμμές και κελιά.

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.options.PageTableAreaOptions;
import com.groupdocs.parser.data.PageTableArea;

public class ExtractTables {
    public static void main(String[] args) {
        final String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleInvoicePagesPdf.pdf";
        PageTableAreaOptions options = new PageTableAreaOptions(/* layout from previous feature */);

        try (Parser parser = new Parser(filePath)) {
            Iterable<PageTableArea> tables = parser.getTables(options);
            
            for (PageTableArea table : tables) {
                // Process each table as needed
            }
        } catch (Exception e) {
            System.err.println("Error extracting tables: " + e.getMessage());
        }
    }
}

Χαρακτηριστικό 6: επανάληψη πάνω σε σειρές και στήλες πινάκων

Επισκόπηση
Μετά την εξαγωγή, επαναλάβετε πάνω στις σειρές και στήλες για πρόσβαση σε μεμονωμένα κελιά.

Επανάληψη και πρόσβαση σε κελιά
Κάθε Table παρέχει getRows() και κάθε Row παρέχει getCells(). Μπορείτε να διαβάσετε το κείμενο του κελιού μέσω getText() και να το γράψετε σε CSV ή οποιαδήποτε άλλη μορφή.
Row αντιπροσωπεύει μια μεμονωμένη σειρά μέσα σε έναν Table.
getRows() επιστρέφει τη λίστα των σειρών σε έναν πίνακα.
getCells() επιστρέφει τα κελιά μιας σειράς.
getText() ανακτά το κειμενικό περιεχόμενο ενός κελιού.

import com.groupdocs.parser.data.PageTableArea;
import com.groupdocs.parser.data.PageTableAreaCell;

public class IterateTables {
    public static void main(String[] args) {
        PageTableArea table = /* reference to a specific PageTableArea object */;

        for (int row = 0; row < table.getRowCount(); row++) {
            for (int column = 0; column < table.getColumnCount(); column++) {
                PageTableAreaCell cell = table.getCell(row, column);
                if (cell != null) {
                    // Process the cell text as needed
                }
            }
        }
    }
}

Συχνά προβλήματα και λύσεις

ΠρόβλημαΓιατί συμβαίνειΣυμβουλή
Δεν επιστράφηκαν πίνακεςΤο PDF είναι σαρωμένο (βασισμένο σε εικόνα)Εκτελέστε OCR πρώτα ή χρησιμοποιήστε το GroupDocs OCR πριν από την ανάλυση.
Λανθασμένη ευθυγράμμιση στηλώνΟι συντεταγμένες διάταξης είναι λανθασμένεςΡυθμίστε προσεκτικά τις τιμές του TemplateTableLayout ώστε να ταιριάζουν με το οπτικό πλέγμα.
Αιχμές μνήμης σε μεγάλα PDFΟ Parser φορτώνει ολόκληρο το έγγραφο στη μνήμηΕπεξεργαστείτε τις σελίδες σε παρτίδες και κλείστε τον Parser μετά από κάθε παρτίδα.

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

1. Μπορώ να εξάγω πίνακες από σαρωμένα PDF ή μόνο από ψηφιακά PDF;

Απάντηση: Το GroupDocs.Parser λειτουργεί κυρίως με ψηφιακά, επιλέξιμα PDF που περιέχουν ενσωματωμένο κείμενο. Για σαρωμένα PDF, πρέπει πρώτα να εκτελέσετε OCR—είτε με το GroupDocs OCR είτε με άλλη μηχανή OCR—ώστε το κείμενο να γίνει αναζητήσιμο πριν από την εξαγωγή πινάκων.

2. Πώς να διαχειριστώ πίνακες με σύνθετες διατάξεις ή συγχωνευμένα κελιά;

Απάντηση: Προσαρμόστε το TemplateTableLayout με ακριβείς συντεταγμένες στηλών και γραμμών, ή ενεργοποιήστε τη σημαία mergeCells στο TableExtractionOptions. Ενδέχεται να απαιτηθεί post‑processing για σωστή ερμηνεία των συγχωνευμένων περιοχών.

3. Είναι το GroupDocs.Parser κατάλληλο για μεγάλα έγγραφα ή επεξεργασία παρτίδων;

Απάντηση: Ναι. Η βιβλιοθήκη είναι σχεδιασμένη για σενάρια υψηλής απόδοσης και μπορεί να επεξεργαστεί PDF με εκατοντάδες σελίδες διατηρώντας τη χρήση μνήμης χαμηλή. Χρησιμοποιήστε επιλογές εύρους σελίδων και απελευθερώστε το αντικείμενο Parser μετά από κάθε παρτίδα για μέγιστη απόδοση.

4. Μπορώ να εξάγω τα εξαγόμενα δεδομένα πινάκων σε μορφές όπως CSV ή Excel;

Απάντηση: Το GroupDocs.Parser επιστρέφει ακατέργαστα δεδομένα πινάκων (γραμμές και κελιά). Μπορείτε εύκολα να γράψετε αυτά τα δεδομένα σε CSV χρησιμοποιώντας OpenCSV ή σε Excel χρησιμοποιώντας Apache POI. Αυτό καλύπτει το σενάριο export pdf tables csv χωρίς επιπλέον άδεια.

5. Υπάρχει υποστήριξη για εξαγωγή πινάκων από πολλές σελίδες ταυτόχρονα;

Απάντηση: Απόλυτα. Καλέστε parser.getTables(pageOptions) με εύρος σελίδων ή επαναλάβετε πάνω σε όλες τις σελίδες. Το API συγκεντρώνει πίνακες από πολλές σελίδες, επιτρέποντάς σας να δημιουργήσετε ένα ενοποιημένο σύνολο δεδομένων.

Συμπέρασμα

Η εξαγωγή πινάκων PDF σε Java γίνεται απλή με το GroupDocs.Parser. Αρχικοποιώντας ένα Parser, επιβεβαιώνοντας την υποστήριξη πινάκων, διαμορφώνοντας τη διάταξη και τις επιλογές εξαγωγής, και επαναλαμβάνοντας πάνω στα αντικείμενα Table, μπορείτε να μετατρέψετε στατικά PDF σε δομημένα αρχεία CSV ή Excel. Ο σχεδιασμός της βιβλιοθήκης, η υποστήριξη για πάνω από 50 μορφές και η απρόσκοπτη ενσωμάτωση OCR την καθιστούν ιδανική επιλογή για αυτοματοποίηση τιμολογίων, μετανάστευση δεδομένων και μεγάλης κλίμακας pipelines analytics. Με τα παραπάνω βήματα, είστε έτοιμοι να ενσωματώσετε αξιόπιστη εξαγωγή πινάκων σε οποιαδήποτε εφαρμογή Java.


Τελευταία ενημέρωση: 2026-09-17
Δοκιμή με: GroupDocs.Parser 25.5 (Java)
Συγγραφέας: GroupDocs

Σχετικές οδηγίες