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
Integration Services: http://msdn.microsoft.com/en-us/library/ms141026.aspx
Foxit Reader: http://www.foxitsoftware.com/Secure_PDF_Reader/
Acrobat Reader: http://get.adobe.com/br/reader/
Olá! Parabéns pelo ótimo artigo. Conheço um software online que faz a conversão de arquivos PDF para EXCEL, XML e CSV:
ResponderExcluirhttp://pdfextractoronline.com/pt-br/