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

Σε αυτό το ολοκληρωμένο tutorial θα ανακαλύψετε πώς να εκτελέσετε java pdf table extraction χρησιμοποιώντας τη βιβλιοθήκη GroupDocs.Parser. Είτε χρειάζεστε να εξάγετε οικονομικούς πίνακες, στοιχεία τιμολογίων ή ερευνητικά δεδομένα, αυτός ο οδηγός σας καθοδηγεί μέσω του ελέγχου υποστήριξης εγγράφου, του ορισμού ακριβών διατάξεων πινάκων και της αποδοτικής εξαγωγής των δεδομένων για επεξεργασία σε Java.

Γρήγορες απαντήσεις

  • Μπορεί το GroupDocs.Parser να διαβάσει πίνακες από PDFs; Ναι – παρέχει εγγενή εξαγωγή πινάκων για PDFs και πολλές άλλες μορφές.
  • Χρειάζομαι άδεια για ανάπτυξη; Μπορείτε να ξεκινήσετε με δωρεάν δοκιμή· απαιτείται άδεια για χρήση σε παραγωγή.
  • Ποια έκδοση Java απαιτείται; JDK 8 ή νεότερη.
  • Είναι το Maven ο μοναδικός τρόπος για να προσθέσετε τη βιβλιοθήκη; Όχι – μπορείτε επίσης να κατεβάσετε το JAR απευθείας.
  • Θα λειτουργήσει αυτό με αρχεία προστατευμένα με κωδικό; Ναι, απλώς δώστε τον κωδικό κατά τη δημιουργία του αντικειμένου Parser.

Τι είναι η java pdf table extraction;

Java pdf table extraction είναι η διαδικασία προγραμματιστικής ανάγνωσης δομών πινάκων ενσωματωμένων σε αρχεία PDF (ή Word) χρησιμοποιώντας κώδικα Java. Το GroupDocs.Parser αφαιρεί το χαμηλού επιπέδου parsing και επιστρέφει κάθε κελί ως απλό κείμενο, έτοιμο για αναλύσεις ή εισαγωγή σε βάση δεδομένων. Υποστηρίζει τόσο σαρωμένα όσο και εγγενή PDFs, διαχειριζόμενο συγχωνευμένα κελιά και πίνακες πολλαπλών σελίδων χωρίς πρόσθετη διαμόρφωση.

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

Το GroupDocs.Parser υποστηρίζει 50+ μορφές εισόδου και εξόδου — συμπεριλαμβανομένων PDF, DOCX, PPTX και HTML — ώστε να μπορείτε να επαναχρησιμοποιήσετε το ίδιο API σε διαφορετικούς τύπους εγγράφων. Η εξαγωγή με βάση τη διάταξη προσφέρει ακρίβεια έως 98 % σε σύνθετους πίνακες, και η βιβλιοθήκη επεξεργάζεται PDFs εκατοντάδων σελίδων χρησιμοποιώντας streaming για να διατηρεί τη χρήση μνήμης κάτω από 200 MB.

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

  • Java Development Kit (JDK) 8+ εγκατεστημένο.
  • Maven (ή χειροκίνητη διαχείριση JAR) για διαχείριση εξαρτήσεων.
  • Βασική εξοικείωση με τη σύνταξη της Java και τις αντικειμενοστραφείς έννοιες.

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

Ρύθμιση Maven

Αν διαχειρίζεστε τις εξαρτήσεις με Maven, προσθέστε το αποθετήριο και την εξάρτηση στο pom.xml σας:

<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 releases. Ακολουθήστε τις οδηγίες εγκατάστασης που παρέχονται στην ιστοσελίδα τους.

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

Για πλήρη πρόσβαση στις δυνατότητες του GroupDocs.Parser, σκεφτείτε να αποκτήσετε άδεια. Μπορείτε να ξεκινήσετε με δωρεάν δοκιμή ή να αποκτήσετε προσωρινή άδεια ακολουθώντας τα βήματα στη σελίδα αγοράς.

Μόλις όλα είναι ρυθμισμένα, ας προχωρήσουμε στην πραγματική υλοποίηση της java pdf table extraction.

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

Έλεγχος υποστήριξης εγγράφου για εξαγωγή πινάκων

Υποστηρίζει αυτό το έγγραφο εξαγωγή πινάκων;
Πρώτα πρέπει να επιβεβαιώσετε ότι το αρχείο-στόχος μπορεί να υποβληθεί σε επεξεργασία για πίνακες. Το GroupDocs.Parser εκθέτει μια σημαία χαρακτηριστικού που σας λέει αν η εξαγωγή πινάκων είναι διαθέσιμη για τη συγκεκριμένη μορφή, αποτρέποντας περιττά σφάλματα κατά την εκτέλεση.

  • Parser initialization: Η κλάση Parser είναι το σημείο εισόδου που φορτώνει το έγγραφο στη μνήμη.
  • Feature check: Καλέστε parser.getFeatures().isTables()· επιστρέφει true όταν η εξαγωγή πινάκων υποστηρίζεται.
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.IDocumentInfo;

public class TableExtractionCheck {
    public static void main(String[] args) {
        try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/your_document.pdf")) {
            // Check if the document supports table extraction.
            if (!parser.getFeatures().isTables()) {
                System.out.println("Document doesn't support table extraction.");
            } else {
                System.out.println("Document supports table extraction. Proceeding...");
                extractTablesFromDocument();
            }
        }
    }
}

Δημιουργία διάταξης πίνακα για εξαγωγή

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

  • Column and row coordinates: Καθορίστε τις θέσεις έναρξης/λήξης του άξονα X για κάθε στήλη και τις θέσεις του άξονα Y για κάθε σειρά.
  • TemplateTableLayout: Αυτό το αντικείμενο αποθηκεύει τον χάρτη συντεταγμένων και περνιέται αργότερα στην κλήση εξαγωγής.
import com.groupdocs.parser.templates.TemplateTableLayout;

public class TableExtractionSetup {
    public static TemplateTableLayout createTemplateTableLayout() {
        return new TemplateTableLayout(
            java.util.Arrays.asList(new Double[]{50.0, 95.0, 275.0, 415.0, 485.0, 545.0}),
            java.util.Arrays.asList(new Double[]{325.0, 340.0, 365.0, 395.0})
        );
    }
}

Εξαγωγή πινάκων από σελίδες εγγράφου

Ποια είναι η διαδικασία βήμα‑βήμα για την εξαγωγή πινάκων;
Μετά την επιβεβαίωση της υποστήριξης και τον ορισμό μιας διάταξης, επαναλαμβάνετε τη διαδικασία για κάθε σελίδα, ζητάτε τα δεδομένα του πίνακα και συλλέγετε τα αποτελέσματα σε μια συλλογή Java για περαιτέρω επεξεργασία.

  • Page iteration: Επανάληψη πάνω στο parser.getPages() για διαχείριση PDF πολλαπλών σελίδων.
  • Table extraction: Χρησιμοποιήστε parser.getTables(pageIndex, options) όπου το options περιλαμβάνει τη προηγουμένως ορισμένη διάταξη.
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageTableArea;
import com.groupdocs.parser.data.IDocumentInfo;
import com.groupdocs.parser.options.PageTableAreaOptions;

public class TableExtractionProcess {
    public static void extractTablesFromDocument() {
        try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/your_document.pdf")) {
            IDocumentInfo documentInfo = parser.getDocumentInfo();
            if (documentInfo.getPageCount() > 0) {
                PageTableAreaOptions options = new PageTableAreaOptions(TableExtractionSetup.createTemplateTableLayout());

                for (int pageIndex = 0; pageIndex < documentInfo.getPageCount(); pageIndex++) {
                    Iterable<PageTableArea> tables = parser.getTables(pageIndex, options);
                    
                    for (PageTableArea table : tables) {
                        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) {
                                    System.out.print(cell.getText() + " | ");
                                }
                            }
                            System.out.println();
                        }
                        System.out.println();
                    }
                }
            } else {
                System.out.println("Document has no pages.");
            }
        }
    }
}

Πρακτικές εφαρμογές της java pdf table extraction

Η υλοποίηση εξαγωγής πινάκων μπορεί να είναι ωφέλιμη σε διάφορα πραγματικά σενάρια:

  1. Data analysis: Ανάκτηση δομημένων δεδομένων από οικονομικές εκθέσεις ή επιστημονικές εργασίες για μεταγενέστερη ανάλυση.
  2. Invoice processing: Αυτοματοποίηση της εξαγωγής στοιχείων γραμμής από τιμολόγια και ενσωμάτωση των δεδομένων σε λογιστικά συστήματα.
  3. Document management: Ευρετηρίαση των εξαγόμενων δεδομένων πινάκων μαζί με το πλήρες κείμενο για βελτιωμένη αναζητησιμότητα σε λύσεις DMS.

Σκέψεις απόδοσης

Για βέλτιστη απόδοση κατά τη χρήση του GroupDocs.Parser:

  • Optimize memory usage: Κατανείμετε επαρκή χώρο heap (π.χ., -Xmx2g) για μεγάλα PDFs.
  • Batch processing: Ομαδοποιήστε πολλά έγγραφα σε μία εργασία για μείωση του κόστους εκκίνησης του JVM.
  • Efficient layouts: Ακριβείς ορισμοί συντεταγμένων ελαχιστοποιούν την περιοχή σάρωσης, επιταχύνοντας την εξαγωγή έως και 30 %.

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

ΠρόβλημαΑιτίαΔιόρθωση
Δεν επιστράφηκαν πίνακεςΟι συντεταγμένες διάταξης δεν ταιριάζουν με τις πραγματικές θέσεις των πινάκωνΕπαληθεύστε τις συντεταγμένες στήλης/γραμμής σε σχέση με το PDF χρησιμοποιώντας το χάρακα του προβολέα.
Σφάλματα έλλειψης μνήμηςΠολύ μεγάλο έγγραφο φορτωμένο ολόκληροΧρησιμοποιήστε λειτουργία streaming ή αυξήστε το heap του JVM (-Xmx).
Κενούς κελιάΟ πίνακας περιέχει συγχωνευμένα κελιά που δεν καλύπτονται από τη διάταξηΡυθμίστε τη διάταξη ώστε να περιλαμβάνει τα όρια των συγχωνευμένων κελιών ή χρησιμοποιήστε την προεπιλεγμένη εξαγωγή χωρίς διάταξη.

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

Q: Μπορώ να εξάγω πίνακες από άλλες μορφές εγγράφων;
A: Ναι, το GroupDocs.Parser υποστηρίζει DOCX, PPTX, TXT και πολλές άλλες μορφές. Ανατρέξτε στην επίσημη τεκμηρίωση για πλήρη λίστα.

Q: Χρειάζομαι άδεια για builds ανάπτυξης;
A: Μια άδεια δοκιμής είναι επαρκής για ανάπτυξη και δοκιμές. Απαιτείται εμπορική άδεια για παραγωγικές εγκαταστάσεις.

Q: Πώς το GroupDocs.Parser διαχειρίζεται PDFs προστατευμένα με κωδικό;
A: Δώστε τον κωδικό κατά τη δημιουργία του αντικειμένου Parser, π.χ., new Parser(filePath, password). Η βιβλιοθήκη θα αποκρυπτογραφήσει το αρχείο αυτόματα.

Q: Είναι δυνατόν να εξάγω πίνακες χωρίς να ορίσω διάταξη;
A: Ναι, μπορείτε να καλέσετε parser.getTables(pageIndex) χωρίς επιλογές, αλλά η εξαγωγή με βάση τη διάταξη προσφέρει μεγαλύτερη ακρίβεια για σύνθετους πίνακες.

Q: Ποια έκδοση του GroupDocs.Parser είναι συμβατή με Java 11;
A: Η έκδοση 25.5 (χρησιμοποιείται σε αυτόν τον οδηγό) υποστηρίζει πλήρως Java 8‑17, συμπεριλαμβανομένης της Java 11.

Συμπέρασμα

Τώρα έχετε μια έτοιμη για παραγωγή προσέγγιση στην java pdf table extraction χρησιμοποιώντας το GroupDocs.Parser. Επαληθεύοντας τις δυνατότητες του εγγράφου, ορίζοντας μια προσαρμοσμένη TemplateTableLayout και επαναλαμβάνοντας τη διαδικασία ανά σελίδα, μπορείτε αξιόπιστα να εξάγετε δομημένα δεδομένα για οποιαδήποτε επόμενη ροή εργασίας σε Java.

Επόμενα βήματα

  • Εξερευνήστε προχωρημένες λειτουργίες όπως table merging, cell formatting, και export to CSV στην documentation.
  • Πειραματιστείτε με διαφορετικές ρυθμίσεις διάταξης για να αντιμετωπίσετε διάφορα σχέδια πινάκων στην συλλογή εγγράφων σας.

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

Σχετικά μαθήματα