All for Joomla All for Webmasters

Guia para converter PDF em tabelas

Já aconteceu com todos nós. Depois de uma busca árdua, você finalmente conseguiu ter acesso aos dados que precisa. Mas a felicidade dura pouco: eles estão em PDF.

Apesar de popular, o formato PDF costuma dar dor de cabeça para quem trabalha com dados. Arquivos assim são bons para leitura humana ou impressão, mas se você precisa editar o documento ou automatizar processos com os dados contidos nele, então eles podem ser um problema.

O Portable Document Format – o famoso PDF – foi criado pela Adobe nos anos 1990 de forma proprietária, sendo posteriormente lançado como um padrão aberto. Mas atenção: apesar do formato PDF ser padronizado de forma aberta no ISO 32000-1:2008, isto não quer dizer que os dados dentro dos arquivos PDF sejam considerados ‘Dados Abertos’.

Se isso parece confuso para você, vale dar uma olhada no Guia de Dados Abertos da Open Knowledge. Lá explicamos o que são dados abertos e por que devemos usá-los, ao invés de optar por apresentar os dados em formatos como o PDF.

E prevenir é melhor que remediar, então, ao fazer pedidos via de Lei Acesso à Informação, lembre-se sempre de solicitar que os dados sejam fornecidos preferencialmente em formato aberto (planilha em .csv,.ods, etc) de acordo com o determinado no art. 8º, §3º da Lei Federal 12.527/11 e o item V do art. 24 da Lei Federal 12.695/14.

Se a tabela já está disponível online, você pode também tentar entrar em contato com o órgão responsável pelo documento e solicitar uma versão em formato de dados abertos.

Mas, se você abriu esse tutorial, seu interesse é resolver um problema mais prático: os dados só foram disponibilizados em PDF. E agora?

A primeira tentativa costuma ser apelar para a boa e velha função de copiar e colar.

Você seleciona a tabela desejada, mas ao colar em um editor de planilhas o resultado geralmente não é o imaginado. Os registros de uma coluna vão para outra, as informações das linhas se misturam e, na maioria das vezes, o trabalho de limpeza que a “colagem” demanda não compensa o tempo economizado no Ctrl+C Ctrl+V.

Isso quando o PDF não é, na verdade, uma foto disfarçada. Neste caso, o texto sequer será selecionável. Para reconhecer os caracteres que estão ali, o computador precisa lançar mão de uma técnica chamada Reconhecimento Ótico de Caracteres, mais conhecida pelo acrônimo em inglês OCR.

Não existe uma solução única ou perfeita para libertar dados em PDF. Por outro lado, há muitos softwares para lidar com isto. Alguns são pagos e com código fechado para Windows, e também há soluções gratuitas e em código aberto, que priorizamos neste tutorial.

Preparamos uma série sobre o tema. Além desta introdução, iremos apresentar o funcionamento do Tabula, via interface gráfica ou linha de comando, e da Rows, uma solução baseada em Python. E, por fim, falaremos sobre como extrair dados de PDF escaneados usando técnicas de OCR. Ao todo, teremos 4 posts, lançados semanalmente.

Questões importantes

Para saber a solução mais adequada para você, tente responder às seguintes perguntas

Qual seu conhecimento técnico?

Se você programa, existem bibliotecas em diversas linguagens para lidar com dados em PDF, como o PDFMiner, a Rows e o PyPDFOCR (Python) ou o PDFTools (R). Já se você prefere fazer tudo online, é possível também encontrar serviços pagos e gratuitos na Internet para libertar suas informações. Se você está em um algum nível intermediário, também dá para encontrar boas opções. Mencionaremos alguns destes softwares e serviços online a seguir.

Qual o volume de dados que preciso converter?

Basicamente, quanto menos dados, mais provável que uma solução online seja a sua melhor opção. Ou seja: se você precisa libertar dados de um PDF com pouquíssimas páginas (menos de 10, por exemplo), pode conseguir isto facilmente através de serviços freemium, ou seja, com planos gratuitos limitados. Mas se precisa lidar com vários dados ou automatizar processos, então, soluções offline ou bibliotecas em linguagens como Python ou R provavelmente serão as mais adequadas.

Os PDFs possuem os dados em formato de texto ou como imagem?

O primeiro caso costuma ocorrer geralmente quando o arquivo foi gerado através de um editor de documentos e exportado para PDF posteriormente. O segundo, quando trata-se de um documento escaneado. Se você tiver em mãos uma imagem precisará usar técnicas de OCR, acompanhe nossa série de tutoriais, pois teremos um post dedicado ao assunto.

 

Antes de extrair os dados, o ideal é tratar os arquivos para ter melhores resultados. Por exemplo: se você precisar apenas de páginas específicas do PDF, você pode usar ferramentas como o pdftk, que permite juntar e dividir páginas de diferentes arquivos.

Serviços pagos

Existem ainda softwares proprietários e pagos, que não iremos cobrir a fundo neste tutorial, mas podem ser úteis, a depender das suas necessidades e conhecimentos técnicos. Nesta categoria, vale conferir o software da Adobe, que criou originalmente o formato PDF, e o Abby FineReader, que costuma ser elogiado e possui versão tanto online quanto para rodar localmente na sua máquina.

O Abby FineReader Online permite converter arquivos PDF e arquivos de imagem para documentos de texto e planilhas direto do seu navegador, sem precisar instalar nada. A desvantagem é que se trata de um serviço pago.

Caso você faça um registro no site, é possível converter até dez páginas de forma gratuita e mensalmente são adicionados créditos equivalentes à conversão de cinco páginas na sua conta, sem custo. Mas se você precisa mais que isso, então, vai ser preciso abrir a carteira para o usar o Abby. Outras alternativa onlines que valem ser conferidas são o Zamzar, o PDFTables e o Cometdocs, que também possui um plano gratuito limitado e outro pago.


Próximos tutoriais

Confira nosso guia completo, acessando os tutoriais a seguir:

Enquanto isso, se você possui dúvidas ou sugestões sobre o assunto, você pode enviar no nosso fórum aberto.

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.