Wie man Tabellen aus PDF in Java mit GroupDocs.Parser extrahiert

Das Extrahieren von Tabellen aus PDF‑Dateien ist ein häufiges Bedürfnis, wenn statische Dokumente in strukturierte Daten umgewandelt werden sollen. In diesem Tutorial zeigen wir wie man Tabellen aus PDFs mit der GroupDocs.Parser‑Bibliothek für Java extrahiert. Sie werden sehen, warum dieser Ansatz ideal für java pdf table extraction ist, wie man Layouts für genaue Ergebnisse konfiguriert und sogar wie man später export pdf tables csv durchführt.

Schnelle Antworten

  • Was ist die primäre Bibliothek? GroupDocs.Parser für Java
  • Kann ich Tabellen aus gescannten PDFs extrahieren? Nur nach OCR; siehe Hinweis „extract tables scanned pdf“ unten
  • Benötige ich eine Lizenz? Eine Testlizenz funktioniert für die Entwicklung; für die Produktion ist eine Volllizenz erforderlich
  • Welche Java‑Version wird benötigt? Java 8 oder höher
  • Wird Batch‑Verarbeitung unterstützt? Ja – die API ist für groß angelegte Extraktion optimiert

Was bedeutet „how to extract tables“ im Kontext von PDFs?

Wenn wir von how to extract tables sprechen, beziehen wir uns auf den Prozess, tabellarische Strukturen in einem PDF programmgesteuert zu lokalisieren, Zellgrenzen zu interpretieren und den Textinhalt in einem maschinenlesbaren Format (z. B. CSV, Excel) abzurufen. GroupDocs.Parser abstrahiert das Low‑Level‑PDF‑Parsing und liefert ein klares Objektmodell zum Arbeiten.

Warum GroupDocs.Parser für java pdf table extraction verwenden?

  • Genaue Layout‑Erkennung – Handhabt mehrspaltige, mehrzeilige Tabellen mit benutzerdefinierten Koordinaten.
  • Leistungsorientiert – Funktioniert gut mit großen Dokumenten und Batch‑Jobs.
  • Einfache Integration – Maven‑basierte Abhängigkeitsverwaltung und unkomplizierte API.
  • Erweiterbar – Sie können es mit GroupDocs OCR für extract tables scanned pdf‑Szenarien kombinieren.

Voraussetzungen

Bevor wir beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Java 8+ installiert und in Ihrer IDE oder Ihrem Build‑Tool konfiguriert.
  • Maven für die Abhängigkeitsverwaltung.
  • Zugriff auf eine GroupDocs.Parser‑Lizenz (Test oder Vollversion).

Erforderliche Bibliotheken und Abhängigkeiten

Sie benötigen:

  • GroupDocs.Parser für Java Bibliothek (Version 25.5 oder höher).
  • Maven auf Ihrem System für die Abhängigkeitsverwaltung.

Umgebung einrichten

Stellen Sie sicher, dass Ihre Entwicklungsumgebung mit einer kompatiblen Java‑Version (Java 8 oder höher) eingerichtet ist.

Fachliche Voraussetzungen

Grundlegendes Verständnis der Java‑Programmierung und Erfahrung im Umgang mit Dateien in Java sind von Vorteil.

Einrichtung von GroupDocs.Parser für Java

Um GroupDocs.Parser zu verwenden, integrieren Sie es wie folgt in Ihr Projekt:

Maven Setup
Fügen Sie die folgende Konfiguration zu Ihrer pom.xml‑Datei hinzu, um GroupDocs.Parser als Abhängigkeit einzubinden:

<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>

Direct Download
Alternativ laden Sie die neueste Version von GroupDocs.Parser für Java von GroupDocs releases herunter.

Lizenzbeschaffung

Beginnen Sie mit einer kostenlosen Testversion, erhalten Sie eine temporäre Lizenz oder erwerben Sie eine Volllizenz. Weitere Details finden Sie auf der GroupDocs licensing page.

Grundlegende Initialisierung und Einrichtung

Initialisieren Sie GroupDocs.Parser in Ihrer Java‑Anwendung wie folgt:

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

Implementierungs‑Leitfaden

Gehen wir jede Funktion durch, die Sie beherrschen müssen, um how to extract tables aus einem PDF zu meistern.

Feature 1: Dokumenten‑Parsing mit GroupDocs

Übersicht
Um mit einem PDF‑Dokument zu interagieren, erstellen Sie eine Instanz der Klasse Parser. Dies ermöglicht verschiedene Operationen am Dokument.

Erstellen einer Parser‑Instanz

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

Feature 2: Überprüfung der Tabellen‑Extraktions‑Fähigkeit

Übersicht
Bevor Sie Tabellen extrahieren, prüfen Sie, ob das PDF die Tabellen‑Extraktion unterstützt.

Überprüfung der Tabellenunterstützung

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

Feature 3: Tabellen‑Layout‑Konfiguration

Übersicht
Die Konfiguration des Layouts Ihrer Tabellen kann die Genauigkeit der Datenerfassung verbessern.

Einrichten des Tabellen‑Layouts

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

Feature 4: Einrichtung der Tabellen‑Extraktions‑Optionen

Übersicht
Richten Sie Optionen für die Extraktion von Tabellen mit spezifischen Konfigurationen ein, um die Genauigkeit zu erhöhen.

Konfiguration der Extraktions‑Optionen

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

Feature 5: Tabellen aus einem Dokument extrahieren

Übersicht
Extrahieren Sie Tabellen mithilfe der konfigurierten Optionen und verarbeiten Sie sie nach Bedarf.

Extraktions‑Prozess

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

Feature 6: Durchlaufen von Tabellen‑Zeilen und -Spalten

Übersicht
Nach der Extraktion durchlaufen Sie Zeilen und Spalten, um auf einzelne Zellen zuzugreifen.

Durchlaufen und Zugriff auf Zellen

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

Häufige Probleme und Lösungen

ProblemWarum es passiertPro Tipp
Keine Tabellen zurückgegebenDas PDF ist gescannt (bildbasiert)Führen Sie zuerst OCR aus oder verwenden Sie GroupDocs OCR vor dem Parsen.
Falsche SpaltenausrichtungLayout‑Koordinaten sind falschTemplateTableLayout‑Werte feinjustieren, um dem visuellen Raster zu entsprechen.
Speicherspitzen bei großen PDFsParser lädt das gesamte Dokument in den SpeicherVerarbeiten Sie Seiten in Batches und schließen Sie den Parser nach jedem Batch.

Häufig gestellte Fragen

1. Kann ich Tabellen aus gescannten PDFs oder nur aus digitalen PDFs extrahieren?

Antwort: GroupDocs.Parser arbeitet hauptsächlich mit digitalen, auswählbaren PDFs, die eingebetteten Text enthalten. Für gescannte PDFs müssen Sie OCR‑Funktionen (Optische Zeichenerkennung) integrieren. GroupDocs bietet separate OCR‑Module an, oder Sie können andere OCR‑Tools verwenden, um Bilder vor der Tabellenerfassung in Text zu konvertieren.

2. Wie gehe ich mit Tabellen mit komplexen Layouts oder zusammengeführten Zellen um?

Antwort: Für komplexe Layouts können Sie TemplateTableLayout mit spezifischen Spalten‑ und Zeilenkoordinaten anpassen oder Erkennungsparameter justieren, um die Genauigkeit zu erhöhen. Der Umgang mit zusammengeführten Zellen kann erfordern, dass Sie Zell‑Spannweiten analysieren und eine Nachbearbeitungs‑Logik implementieren, um zusammengeführte Bereiche zu interpretieren.

3. Ist GroupDocs.Parser für große Dokumente oder Batch‑Verarbeitung geeignet?

Antwort: Ja, GroupDocs.Parser ist für Batch‑Verarbeitung optimiert und kann große Dokumente effizient verarbeiten. Ein korrektes Ressourcen‑Management und das Aufteilen Ihrer Verarbeitungsaufgaben in Stücke können die Leistung weiter steigern.

4. Kann ich die extrahierten Tabellendaten in Formate wie CSV oder Excel exportieren?

Antwort: Obwohl GroupDocs.Parser selbst auf die Extraktion fokussiert, liefert es die Rohdaten (Zeilen und Zellen). Sie können diese Daten leicht manuell oder mit Java‑Bibliotheken wie Apache POI (für Excel) oder OpenCSV (für CSV‑Dateien) exportieren. Hier kommt der export pdf tables csv‑Anwendungsfall zum Tragen.

5. Gibt es Unterstützung für das Extrahieren von Tabellen aus mehreren Seiten?

Antwort: Ja, wenn Sie parser.getTables() mit Seitenoptionen verwenden, kann es Tabellen über mehrere Seiten hinweg extrahieren. Sie können Seitenbereiche angeben oder alle Seiten iterativ verarbeiten, um sämtliche Tabellendaten zu sammeln.

Fazit

Das Extrahieren von Tabellen aus PDFs ist ein wesentlicher Schritt bei der Automatisierung der Dokumentdatenverarbeitung, und GroupDocs.Parser für Java macht diese Aufgabe einfacher denn je. Durch das Erstellen einer Parser‑Instanz, die Überprüfung der Tabellenunterstützung, die Konfiguration von Layout‑Optionen und das Durchlaufen der extrahierten Daten können Entwickler effizient strukturierte Daten selbst aus komplexen PDF‑Dokumenten abrufen. Dieses Toolkit ist flexibel genug, um verschiedene Szenarien zu unterstützen – von Rechnungsautomatisierung bis hin zu groß angelegten Datenanalysen – und lässt sich nahtlos in Java‑Anwendungen integrieren. Mit ein wenig Einrichtung und Anpassung verwandeln Sie statische PDFs in nutzbare Daten mit Präzision und Leichtigkeit.


Zuletzt aktualisiert: 2026-02-09
Getestet mit: GroupDocs.Parser 25.5 (Java)
Autor: GroupDocs