Extractor de mesa PDF

O extrator de tabela PDF foi criado como uma nova ferramenta para atender a essa necessidade.

Descrição

A biblioteca permite a extração de estruturas de mesa a partir de uma variedade de páginas dentro de um PDF

Ele fornece uma lista de elementos, que podem incluir linhas de texto ou tabelas

As tabelas são estruturadas em duas dimensões, consistindo de células individuais que podem ser acessadas para recuperar seu conteúdo.

Descrição do código

Com a versão 3.0 da biblioteca, uma estratégia mais apropriada é seguida para determinar áreas de células de mesa.

Um tipo de detecção de borda é aplicado, mas mais adequado para linhas perfeitamente horizontais e verticais.

Após a obtenção das bordas da tabela, o processamento adicional é realizado e as localizações de cada célula são obtidas, seguidas pelo texto contido em cada uma dessas células.

Esta parece ser a versão final, aguardando a detecção e coleta de casos descobertos e a capacidade de cobri-los adequadamente.

Windows

PDF table extractor v1.0 (2024)

Download

PDF table extractor v2.0 (2024-2025)

Download

PDF table extractor v3.0 (2025)

Download

Versões

image

Aproveitando as aulas programadas para o aplicativo ChessPdfBrowser, que é um aplicativo que escaneia e extrai jogos de xadrez de PDFs, criei uma versão beta da biblioteca para extrair texto de PDFs, incluindo elementos tabulares

A biblioteca escaneia as páginas especificadas e extrai seu texto. Ao extrair o texto, ele procura padrões tabulares e os extrai em um formato de matriz retangular

Espero que isso seja útil para alguém

image

Tenho acesso a vários PDFs contendo tabelas com as quais posso experimentar

Notei que o v1.0 da biblioteca não é muito versátil; funciona bem com alguns PDFs, mas não com outros

A nova versão da biblioteca introduz várias configurações com base em tentativa e erro com os PDFs de teste.

Cada configuração pode funcionar bem com certos PDFs e mal com outros.

O objetivo da nova versão é extrair tabelas usando todas as configurações criadas e desenvolver uma combinação ideal de resultados implementando um seletor de adequação.

Isso nem sempre resulta em uma extração perfeita, mas pode ser um bom começo


Se nenhuma das configurações levar a uma extração de mesa favorável, não hesite em entrar em contato comigo sobre a possibilidade de adicionar uma nova configuração que funcione com sua mesa.

image
image

A nova versão da biblioteca aparece com a intenção de melhorar a extração da mesa.


A melhoria proposta para esta versão é detectar bordas de tabela antes de fazer qualquer processamento nos textos e extrair os textos de cada célula sabendo sua localização a priori.

As bordas são extraídas através da aplicação de correlações básicas de linhas perfeitamente horizontais e verticais, e com um pouco de processamento extra, as bordas completas da tabela podem ser extraídas.

Uma vez que as bordas tenham sido obtidas, um gráfico é gerado com as conexões imediatas de cada vértice e, ao atravessar esse gráfico, as áreas das células da mesa podem ser recuperadas.


A biblioteca retorna uma mistura ordenada de tabelas e parágrafos que não estão em nenhuma tabela, tentando respeitar a ordem no layout PDF.

O analisador pode teoricamente detectar layouts em uma ou mais colunas, ou uma combinação particular, que o analisador de parágrafo irá inferir com um pouco de sorte.

Isso deve acontecer sem qualquer intervenção extra nas chamadas, simplesmente usando os construtores padrão.

Os outros construtores do analisador levam objetos de configuração com muitos parâmetros, por isso, se o analisador não funcionar perfeitamente com o seu PDF, é bem possível que ele possa corrigi-lo "simplesmente" ajustando esse objeto de configuração.

É uma tarefa difícil se você não é o desenvolvedor da biblioteca, então estou disposto a tentar ajustar essa configuração caso a biblioteca não funcione perfeitamente com seu PDF. (frojasg1@hotmail.com)

Downloads