Lendo conteúdo de arquivo PDF para o SQL Server com Integration Services (Parte 1)


Olá pessoal,

     Trabalho diariamente coletando dados das mais diversas fontes e passando para o SQL Server, resolvi tentar pegar um arquivo PDF, ler seus dados e transformá-los numa tabela com colunas distintas, tai, gostei do desafio.
     Suponhamos que você trabalha no setor de T.I. (Tecnologia da informação), mais especificamente na área de banco de dados e tenha que lidar com a parte de ETL (Extract, Transform and Load – Extração, transformação e carga de dados), seu superior ou algum cliente interno te diz para pegar uma listagem que saiu de um concurso e criar uma tabela com estes dados, pois ele pretende fazer uma análise em cima dos mesmos, esses dados infelizmente não saíram em planilha de Excel ou num arquivo TXT ou CSV, mas sim em PDF, agora o que fazer?
     Para dar prosseguimento a este tutorial, vou trabalhar com o SQL Server, o mesmo na versão para desenvolvimento já vem com várias ferramentas, que vão do SGBD às ferramentas de BI (Business Intelligence – Inteligência de negócios), com isso vou usar o SSiS - SQL Server Integration Services, ferramenta para ETL do SQL Server, para poder fazer a extração dos dados, transformá-los e carregá-los em uma tabela do meu banco de dados.
     Pesquisando pela web não encontrei nada que me permitisse ler diretamente de um arquivo PDF para o SQL Server, então o negócio é convertê-lo para TXT, isso provavelmente será possível porque esse arquivo PDF deve ter vindo de uma fonte de dados que lidava com texto, se por acaso ele veio a partir de uma imagem, esqueça.
     Para fazer a conversão, usei o Foxit Reader, mas você pode usar outros leitores de PDF que permitam fazer essa conversão, testei também com o Adobe Acrobat Reader, ambos me atenderam.
Abaixo segue a imagem do arquivo que utilizei como exemplo. Para evitar problemas com dados pessoais de outras pessoas, criei um arquivo com dados fictícios e bem simples, apenas para caráter didático.


Como pode ser visto acima, a situação para pegar os dados não está nada boa, o arquivo está da forma mais simples possível, os dados não estão tabulados, mas sim separados por espaço.

Abaixo converto o arquivo para TXT.


Abaixo segue o arquivo já convertido em TXT.


     Se as informações estivessem tabuladas ou separadas por vírgula ou ponto e vírgula, seria muito fácil importar isso diretamente para o SQL Server, por meio da importação de dados do mesmo, mas como poder ser visto acima, as mesmas estão apenas separadas por um espaço. É necessário fazer um tratamento antes de importar para o SQL Server, nesse ponto entra o SSiS.

Até a próxima parte.










Referências


Comentários

  1. Olá! Parabéns pelo ótimo artigo. Conheço um software online que faz a conversão de arquivos PDF para EXCEL, XML e CSV:
    http://pdfextractoronline.com/pt-br/

    ResponderExcluir

Postar um comentário