Extraer tabla de PDF en Java

Extraer tabla de PDF en Java

Recientemente, publicamos un artículo que trata sobre cómo extraer texto de un archivo PDF en Java mediante programación. En esta publicación de blog, aprenderemos cómo extraer una tabla de un PDF en Java usando esta API de Java para PDF. Esta biblioteca proporciona potentes funciones para analizar y manipular documentos PDF. Además, puede automatizar la extracción de datos mediante la creación de un extractor de tablas PDF utilizando esta biblioteca. Sin embargo, asegúrese de haber instalado Java en su máquina local antes de continuar.

En esta guía se tratarán los siguientes puntos:

Extractor de tablas PDF - Instalación de API

El proceso de instalación de esta biblioteca es directo y simple. De hecho, puede descargar la API o instalarla usando las siguientes configuraciones de Maven.

 <repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <classifier>jdk17</classifier>
</dependency>

Extraer tabla de PDF en Java

Una vez que la API está instalada, puede comenzar a escribir código para crear un extractor de tablas PDF mediante programación.

Puede seguir los pasos y el fragmento de código mencionado a continuación:

  1. Cree un objeto de la clase Documento y cargue el archivo PDF de origen.
  2. Crea una instancia de la clase TableAbsorber que realiza una búsqueda y brinda acceso a los resultados de la búsqueda.
  3. Recorra las páginas del documento PDF llamando al método getPages.
  4. Invoque el método visit para extraer la tabla de la página.
  5. Llame al método getTableList que devuelve IList de solo lectura que contiene las tablas que se encontraron.
  6. Obtenga las filas llamando al método getRowList Iterar a través de la lista de filas.
  7. Recorra la lista de celdas invocando el método getCellList.
  8. Invoque el método getTextFragments para obtener una colección de objetos TextFragment que describen el texto contenido en la celda.
  9. Llame al método getSegments que obtiene segmentos de texto para el TextFragment actual.
  10. Imprima los resultados.

Copie y pegue el siguiente código en su archivo principal:

String filePath = "table.pdf";
// Cree un objeto de la clase Documento y cargue el archivo PDF de origen 
Document pdfDocument = new Document(filePath);
// Crea una instancia de la clase TableAbsorber que realiza búsquedas y proporciona acceso a los resultados de búsqueda  
TableAbsorber absorber = new TableAbsorber();
// Recorra las páginas del documento PDF llamando al método getPages 
for (Page page : pdfDocument.getPages()) {
    // Invoque el método de visita para extraer la tabla de la página 
        absorber.visit(page);
        // Llame al método getTableList que devuelve IList de solo lectura que contiene las tablas que se encontraron 
        for (AbsorbedTable table : absorber.getTableList()) {
                System.out.println("Table");
                // Obtenga las filas llamando al método getRowList Iterar a través de la lista de filas  
                for (AbsorbedRow row : table.getRowList()) {
                        // Iterar a través de la lista de celdas invocando el método getCellList 
                        for (AbsorbedCell cell : row.getCellList()) {
                            // Invoque el método getTextFragments para obtener una colección de objetos TextFragment que describen el texto que contiene la celda 
                                for (TextFragment fragment : cell.getTextFragments()) {
                                        StringBuilder sb = new StringBuilder();
                                        // Invoque el método getSegments que obtiene segmentos de texto para el TextFragment actual. 
                                        for (TextSegment seg : fragment.getSegments())
                                                sb.append(seg.getText());
                                        System.out.print(sb.toString() + "|");
                                }
                        }
                        System.out.println();
                }
        }
}

Obtenga una licencia gratis

Puede aprovechar una licencia temporal gratuita para probar la API sin limitaciones de evaluación.

Resumiendo

Esto nos lleva al final de esta publicación de blog. Ha aprendido cómo extraer tablas de PDF en Java mediante programación. Esta guía realmente lo ayudará si está buscando crear un extractor de tablas PDF para su aplicación comercial. Además, puede visitar la documentación para conocer las otras funciones.

Además, le sugerimos que siga nuestra Guía de introducción.

Finalmente, conholdate.com está escribiendo nuevas publicaciones de blog. Por lo tanto, manténgase en contacto para conocer las últimas actualizaciones.

Hacer una pregunta

Puede informarnos acerca de sus preguntas o consultas en nuestro foro.

preguntas frecuentes

¿Puedo extraer tablas de PDF?

Visite este enlace para conocer los pasos y el fragmento de código que extrae la tabla de un documento PDF mediante programación

Ver también