Extraire les tableaux d’un document PDF via Java

Comment extraire un tableau d’un PDF à l’aide de la bibliothèque Java

Comment extraire des tableaux d'un document PDF à l'aide de la bibliothèque Java

Afin d’extraire le tableau, nous utiliserons l’API Aspose.PDF for Java qui est une API de conversion riche en fonctionnalités, puissante et facile à utiliser pour la plate-forme Java. Vous pouvez télécharger sa dernière version directement sur Maven et l’installer dans votre projet basé sur Maven en ajoutant les configurations suivantes au pom.xml.

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>

Extraire des tableaux d’un PDF via Java


Vous avez besoin de Aspose.PDF for Java pour essayer le code dans votre environnement.

  1. Chargez le PDF avec une instance de Document.
  2. Créez un objet TableAbsorber pour rechercher des tables.
  3. Visitez la première page avec absorbeur.
  4. Obtenez le premier tableau de la page.
  5. Enlevez la table. Enregistrez le fichier.

Extraire les tableaux du 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);
                    }
                }
            }
        }
    }