Remover tabelas de documentos PDF existentes

Use TableAbsorber quando precisar excluir uma ou mais tabelas detectadas de um PDF existente.

Remover uma tabela detectada

Use este exemplo quando apenas a primeira tabela correspondida em uma página deve ser excluída.

  1. Abra o PDF de origem em um objeto Document.
  2. Visite a página de destino com TableAbsorber.
  3. Remova a primeira tabela detectada e salve o documento.
public static void removeOneTable(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        TableAbsorber absorber = new TableAbsorber();
        absorber.visit(document.getPages().get_Item(1));
        absorber.remove(absorber.getTableList().get(0));
        document.save(outputFile.toString());
    }
}

Remover todas as tabelas detectadas de uma página

Use este exemplo quando todas as tabelas correspondentes na página devem ser removidas.

  1. Abra o PDF de origem em um objeto Document.
  2. Visite a página de destino com TableAbsorber e copie as tabelas detectadas para uma lista.
  3. Remova cada tabela detectada e salve o PDF atualizado.
public static void removeAllTables(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        TableAbsorber absorber = new TableAbsorber();
        absorber.visit(document.getPages().get_Item(1));
        List<AbsorbedTable> tables = new ArrayList<>(absorber.getTableList());
        for (AbsorbedTable table : tables) {
            absorber.remove(table);
        }
        document.save(outputFile.toString());
    }
}