Extrair tabelas PDF em Python

Neste artigo, você aprenderá como extrair tabelas de arquivos PDF usando Python. PDF é um formato popular para compartilhar dados, no entanto, extrair tabelas de um PDF pode ser uma tarefa desafiadora. Existem várias bibliotecas Python disponíveis que podem nos ajudar nessa tarefa. Ainda assim, a extração precisa de dados pode estar faltando.

Então, vamos descobrir como extrair dados tabulares de PDF com alta precisão em algumas linhas de código. Ao final deste tutorial, você será capaz de extrair tabelas de arquivos PDF usando Python e manipulá-los conforme necessário.

Biblioteca Python para extrair tabelas de PDF

Para extrair os dados das tabelas em arquivos PDF, usaremos Aspose.PDF for Python. É uma poderosa biblioteca Python com vários recursos para processamento e manipulação de PDF. Você pode instalar o Aspose.PDF para Python usando o seguinte comando pip.

pip install aspose-pdf

Extrair uma tabela de PDF em Python

A seguir estão as etapas para extrair dados de tabelas em um PDF usando Python.

  • Carregue o arquivo PDF usando a classe Document.
  • Obtenha a referência da página em PDF onde a tabela está localizada.
  • Inicialize o objeto TableAbsorber e visite a página selecionada usando o método TableAbsorber.visit(Page).
  • Em um loop, percorra a lista de tabelas na coleção TableAbsorber.tablelist.
  • Para cada tabela, percorra a coleção de linhas em AbsorbedTable.rowlist.
  • Para cada linha absorvida, percorra a coleção de células em AbsorbedRow.celllist.
  • Por fim, percorra a coleção textfragments de cada célula absorvida e imprima o texto.

O exemplo de código a seguir mostra como extrair texto da tabela PDF em Python.

import aspose.pdf as pdf

# Carregar arquivo PDF
pdfDocument = pdf.Document("input.pdf")

# Inicializar o objeto TableAbsorber
tableAbsorber =  pdf.text.TableAbsorber()

# Analisar todas as tabelas na primeira página
tableAbsorber.visit(pdfDocument.pages[1])

# Obter uma referência da primeira tabela
absorbedTable = tableAbsorber.table_list[0]

# Iterar por todas as linhas da tabela
for pdfTableRow in absorbedTable.row_list:
    
    # Iterar por todas as colunas na linha
   for pdfTableCell in pdfTableRow.cell_list:
        
        # Buscar os fragmentos de texto
        textFragmentCollection = pdfTableCell.text_fragments
        
        # Iterar pelos fragmentos de texto
       for textFragment in textFragmentCollection:
            
            # Imprima o texto
            print(textFragment.text)
            

Ferramenta online para extrair tabelas PDF

Você também pode experimentar nossa ferramenta online gratuita, PDF table extractor, para extrair tabelas de arquivos PDF, que é baseado em Aspose.PDF para Python.

Use a biblioteca Python PDF gratuitamente

Você pode obter uma licença temporária gratuita e extrair dados de tabelas em arquivos PDF sem quaisquer limitações.

Explorar biblioteca de PDF do Python

Você pode explorar mais sobre a biblioteca Python PDF usando a documentação. Além disso, você pode postar suas dúvidas em nosso fórum.

Conclusão

Neste artigo, você aprendeu como extrair dados de tabelas em um PDF usando Python. Você pode usar o mesmo código com pequenas modificações para extrair tabelas de todas as páginas de um PDF. Da mesma forma, você pode extrair dados de todas as tabelas ou de uma tabela específica em uma página. Simplesmente instale Aspose.PDF para Python em seu aplicativo e experimente uma maneira rápida e fácil de extrair dados tabulares de arquivos PDF.

Veja também