Estrai tabella da PDF in Java

Estrai tabella da PDF in Java

Nel recente passato, abbiamo pubblicato un articolo su come estrarre il testo da un file PDF in Java in modo programmatico. In questo post del blog impareremo come estrarre una tabella da PDF in Java usando questa API Java per PDF. Questa libreria fornisce potenti funzionalità per analizzare e manipolare documenti PDF. Inoltre, puoi automatizzare l’estrazione dei dati costruendo un estrattore di tabelle PDF utilizzando questa libreria. Tuttavia, assicurati di aver installato Java sul tuo computer locale prima di procedere.

In questa guida devono essere trattati i seguenti punti:

Estrattore di tabelle PDF - Installazione API

Il processo di installazione di questa libreria è diretto e semplice. In effetti, puoi scaricare l’API o installarla utilizzando le seguenti configurazioni 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>

Estrai tabella da PDF in Java

Una volta installata l’API, puoi iniziare a scrivere il codice per creare un estrattore di tabelle PDF in modo programmatico.

Puoi seguire i passaggi e lo snippet di codice menzionato di seguito:

  1. Crea un oggetto della classe Document e carica il file PDF di origine.
  2. Istanziare un’istanza della classe TableAbsorber che esegue una ricerca e fornisce l’accesso ai risultati della ricerca.
  3. Scorri le pagine del documento PDF chiamando il metodo getPages.
  4. Richiama il metodo visit per estrarre la tabella dalla pagina.
  5. Chiama il metodo getTableList che restituisce IList di sola lettura contenente le tabelle che sono state trovate.
  6. Ottieni le righe chiamando il metodo getRowList Scorri l’elenco di righe.
  7. Scorri l’elenco di celle richiamando il metodo getCellList.
  8. Richiamare il metodo getTextFragments per ottenere una raccolta di oggetti TextFragment che descrivono il testo contenuto nella cella.
  9. Chiama il metodo getSegments che ottiene i segmenti di testo per il TextFragment corrente.
  10. Stampa i risultati.

Copia e incolla il seguente codice nel tuo file principale:

String filePath = "table.pdf";
// Crea un oggetto della classe Document e carica il file PDF di origine 
Document pdfDocument = new Document(filePath);
// Istanziare un'istanza della classe TableAbsorber che esegue la ricerca e fornisce l'accesso ai risultati della ricerca  
TableAbsorber absorber = new TableAbsorber();
// Scorri le pagine del documento PDF chiamando il metodo getPages 
for (Page page : pdfDocument.getPages()) {
    // Richiama il metodo visit per estrarre la tabella dalla pagina 
        absorber.visit(page);
        // Chiama il metodo getTableList che restituisce IList di sola lettura contenente le tabelle che sono state trovate 
        for (AbsorbedTable table : absorber.getTableList()) {
                System.out.println("Table");
                // Ottieni le righe chiamando il metodo getRowList Scorri l'elenco di righe  
                for (AbsorbedRow row : table.getRowList()) {
                        // Scorrere l'elenco di celle richiamando il metodo getCellList 
                        for (AbsorbedCell cell : row.getCellList()) {
                            // Richiamare il metodo getTextFragments per ottenere la raccolta di oggetti TextFragment che descrivono il testo contenuto nella cella 
                                for (TextFragment fragment : cell.getTextFragments()) {
                                        StringBuilder sb = new StringBuilder();
                                        // Richiama il metodo getSegments che ottiene i segmenti di testo per TextFragment corrente. 
                                        for (TextSegment seg : fragment.getSegments())
                                                sb.append(seg.getText());
                                        System.out.print(sb.toString() + "|");
                                }
                        }
                        System.out.println();
                }
        }
}

Ottieni una licenza gratuita

Puoi usufruire di una licenza temporanea gratuita per provare l’API senza limitazioni di valutazione.

Riassumendo

Questo ci porta alla fine di questo post sul blog. Hai imparato come estrarre una tabella da PDF in Java in modo programmatico. Questa guida ti aiuterà davvero se stai cercando di creare un estrattore di tabelle PDF per la tua applicazione aziendale. Inoltre, puoi visitare la documentazione per conoscere le altre funzionalità.

Inoltre, ti suggeriamo di seguire la nostra Guida introduttiva.

Infine, conholdate.com sta scrivendo nuovi post sul blog. Pertanto, si prega di rimanere in contatto per gli ultimi aggiornamenti.

Fai una domanda

Puoi farci sapere le tue domande o richieste sul nostro forum.

Domande frequenti

Posso estrarre tabelle da PDF?

Visita questo link per conoscere i passaggi e lo snippet di codice che estrae la tabella da un documento PDF in modo programmatico

Guarda anche