Extrahieren Sie Tabellen aus PDF über Java

Extrahieren Sie die Tabelle aus dem PDF-Dokument. Verwenden Sie Aspose.PDF für Java, um PDF-Dateien programmgesteuert zu ändern

So extrahieren Sie mithilfe der Java Bibliothek Tabellen aus einem PDF-Dokument

Um die Tabelle zu extrahieren, verwenden wir die API Aspose.PDF for Java, eine funktionsreiche, leistungsstarke und einfach zu verwendende Konvertierungs-API für die Java-Plattform. Sie können die neueste Version direkt von Maven herunterladen und in Ihrem Maven-basierten Projekt installieren, indem Sie die folgenden Konfigurationen zu pom.xml hinzufügen.

Repository

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java AP</name>
    <url>https://releases.aspose.com/java/repo/</url>
</repository>

Dependency

<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>version of aspose-pdf API</version>
</dependency>

Extrahiere Tabellen aus PDF via Java


Sie benötigen Aspose.PDF for Java, um den Code in Ihrer Umgebung auszuprobieren.

  1. Laden Sie das PDF mit einer Instanz von Document.
  2. Erstellen Sie ein TableAbsorber-Objekt, um Tabellen zu finden.
  3. Besuchen Sie die erste Seite mit Absorber.
  4. Holen Sie sich die erste Tabelle auf der Seite.
  5. Entferne den Tisch. Speichern Sie die Datei.

Extrahiere Tabellen aus PDF - Java


    Document pdfDocument = new Document(_dataDir + "the_worlds_cities_in_2018_data_booklet 7.pdf");
    for(Page page : pdfDocument.getPages())
    {
        TableAbsorber absorber = new TableAbsorber();
        absorber.visit(page);
        for (AbsorbedTable table : absorber.getTableList())
        {
            for (AbsorbedRow row : table.getRowList())
            {
                for (AbsorbedCell cell : row.getCellList())
                {
                    TextFragmentCollection textFragmentCollection = cell.getTextFragments();
                    for (TextFragment fragment : textFragmentCollection)
                    {
                        String txt = "";
                        for (TextSegment seg : fragment.getSegments())
                            txt += seg.getText();
                        System.out.println(txt);
                    }
                }
            }
        }
    }