Extrair tabela de PDF em Java

Extrair tabela de PDF em Java

Recentemente, publicamos um artigo sobre como extrair texto de um arquivo PDF em Java programaticamente. Nesta postagem do blog, aprenderemos como extrair tabela de PDF em Java usando esta Java API para PDF. Esta biblioteca fornece recursos poderosos para analisar e manipular documentos PDF. Além disso, você pode automatizar a extração de dados criando um extrator de tabela PDF usando esta biblioteca. No entanto, certifique-se de ter instalado o Java em sua máquina local antes de continuar.

Os seguintes pontos devem ser abordados neste guia:

Extrator de tabela PDF - instalação da API

O processo de instalação desta biblioteca é direto e simples. Na verdade, você pode baixar a API ou instalá-la usando as seguintes configurações do 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>

Extrair tabela de PDF em Java

Depois que a API estiver instalada, você poderá começar a escrever código para criar um extrator de tabela PDF programaticamente.

Você pode seguir as etapas e o trecho de código mencionado abaixo:

  1. Crie um objeto da classe Document e carregue o arquivo PDF de origem.
  2. Instancie uma instância da classe TableAbsorber que executa uma pesquisa e fornece acesso aos resultados da pesquisa.
  3. Percorra as páginas do documento PDF chamando o método getPages.
  4. Invoque o método visit para extrair a tabela da página.
  5. Chame o método getTableList que retorna IList somente leitura contendo tabelas que foram encontradas.
  6. Obtenha as linhas chamando o método getRowList Iterar pela lista de linhas.
  7. Itere pela lista de células invocando o método getCellList.
  8. Invoque o método getTextFragments para obter uma coleção de objetos TextFragment que descrevem o texto contido na célula.
  9. Chame o método getSegments que obtém segmentos de texto para o TextFragment atual.
  10. Imprima os resultados.

Copie e cole o seguinte código em seu arquivo principal:

String filePath = "table.pdf";
// Crie um objeto da classe Document e carregue o arquivo PDF de origem 
Document pdfDocument = new Document(filePath);
// Instanciar uma instância da classe TableAbsorber que realiza a pesquisa e fornece acesso aos resultados da pesquisa  
TableAbsorber absorber = new TableAbsorber();
// Percorra as páginas do documento PDF chamando o método getPages 
for (Page page : pdfDocument.getPages()) {
    // Invoque o método visit para extrair a tabela da página 
        absorber.visit(page);
        // Chame o método getTableList que retorna IList somente leitura contendo tabelas que foram encontradas 
        for (AbsorbedTable table : absorber.getTableList()) {
                System.out.println("Table");
                // Obtenha as linhas chamando o método getRowList Iterate through list of rows  
                for (AbsorbedRow row : table.getRowList()) {
                        // Iterar através da lista de células invocando o método getCellList 
                        for (AbsorbedCell cell : row.getCellList()) {
                            // Invoque o método getTextFragments para obter a coleção de objetos TextFragment que descrevem o texto contido na célula 
                                for (TextFragment fragment : cell.getTextFragments()) {
                                        StringBuilder sb = new StringBuilder();
                                        // Invoque o método getSegments que obtém segmentos de texto para o TextFragment atual. 
                                        for (TextSegment seg : fragment.getSegments())
                                                sb.append(seg.getText());
                                        System.out.print(sb.toString() + "|");
                                }
                        }
                        System.out.println();
                }
        }
}

Obtenha uma licença gratuita

Você pode aproveitar uma licença temporária gratuita para experimentar a API sem limitações de avaliação.

Resumindo

Isso nos leva ao final desta postagem no blog. Você aprendeu como extrair tabela de PDF em Java programaticamente. Este guia realmente o ajudará se você estiver procurando criar um extrator de tabela PDF para seu aplicativo de negócios. Além disso, você pode visitar a documentação para conhecer os outros recursos.

Além disso, sugerimos que você siga nosso Guia de primeiros passos.

Finalmente, conholdate.com está escrevendo novas postagens no blog. Portanto, por favor, fique em contato para as atualizações mais recentes.

Faça uma pergunta

Você pode nos informar sobre suas perguntas ou dúvidas em nosso fórum.

Perguntas frequentes

Posso extrair tabelas de PDF?

Visite este link para conhecer as etapas e o snippet de código que extrai a tabela de um documento PDF programaticamente

Veja também