Extraire des tableaux d'un PDF en Java

Utilisez TableAbsorber lorsque vous devez détecter les structures de tableaux dans un PDF existant et lire leur contenu.

Extraire le texte des tableaux détectés

Utilisez cet exemple lorsque vous devez localiser des tableaux sur chaque page et collecter le texte de leur cellule.

  1. Ouvrez le PDF source Document.
  2. Visitez chaque page avec TableAbsorber.
  3. Parcourez les tableaux, les lignes et les cellules absorbés, puis affichez le texte extrait.
public static void extract(Path inputFile) {
    try (Document document = new Document(inputFile.toString())) {
        for (Page page : document.getPages()) {
            TableAbsorber absorber = new TableAbsorber();
            absorber.visit(page);
            for (AbsorbedTable table : absorber.getTableList()) {
                System.out.println("Table ----");
                for (AbsorbedRow row : table.getRowList()) {
                    System.out.println("Row:");
                    StringBuilder rowText = new StringBuilder();
                    for (AbsorbedCell cell : row.getCellList()) {
                        StringBuilder cellText = new StringBuilder();
                        for (TextFragment fragment : cell.getTextFragments()) {
                            for (TextSegment segment : fragment.getSegments()) {
                                cellText.append(segment.getText());
                            }
                        }
                        rowText.append(" | ").append(cellText);
                    }
                    System.out.println(rowText);
                }
            }
        }
    }
}