Extraer tablas de un PDF a través de Java

Extraer la tabla del documento PDF. Utilice Aspose.PDF para que Java modifique los archivos PDF mediante programación

Cómo extraer tablas de un documento PDF con la biblioteca Java

Para extraer la tabla, usaremos la API Aspose.PDF for Java, que es una API de conversión rica en funciones, potente y fácil de usar para la plataforma Java. Puede descargar su última versión directamente desde Maven e instalarla en su proyecto basado en Maven añadiendo las siguientes configuraciones apom.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>

Extraer tablas del PDF mediante Java


Necesita Aspose.PDF for Java para probar el código en su entorno.

  1. Cargue el PDF con una instancia de Document.
  2. Crea el objeto TableAbsorber para buscar tablas.
  3. Visita la primera página con absorbedor.
  4. Consigue la primera mesa de la página.
  5. Quita la mesa. Guarde el archivo.

Extraer tablas del 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);
                    }
                }
            }
        }
    }