Ir ao conteúdo
  • Cadastre-se

Excel VBA para pegar determinadas informações de um PDF


Posts recomendados

Pessoal, boa noite, trago aqui um problema que por mais que eu tenha pesquisado, não consegui encontrar uma solução, e venho pedir ajuda pois ainda não possuo conhecimento amplo em VBA.
Eis meu problema:

 

Trabalho com pdf's de currículos, baixo diversos currículos e junto todos em um único PDF "grande", faço isso pra não ter que ficar abrindo CV por CV e normalmente os currículos tem 3 páginas cada, então cada CV ocupa em média 3 páginas do , no entanto, as únicas informações que eu extraio desses CV's são: Nome, Empresa que trabalhou, cargo, tempo que trabalhou nessa empresa e telefone. Normalmente eu extraio essas informações manualmente copiando e colando em minha planilha, gostaria de saber se existe alguma forma de fazer uma macro pra selecionar o pdf que eu quero abrir, dentro dele, pegar somente as informações que eu utilizo e já jogar certinho nas colunas correspondentes da minha tabela.

 

Alguém pode me ajudar nessa?

Link para o comentário
Compartilhar em outros sites

@Edson Luiz Branco Boa tarde, obrigado desde já pela mensagem.

O anexo é um exemplo, o que eu preciso que o excel faça: Pegue o nome da pessoa e jogue na coluna NOME, pegue a empresa e jogue na coluna EMPRESA, pegue a função que a pessoa exercia e jogue na coluna FUNÇÃO, pegue o período trabalhado e jogue na coluna CONTRATO e pegue o telefone da pessoa e jogue na coluna TELEFONE. 

 

Essas informações estão todas na primeira página do PDF, então as outras 2 são inúteis pra mim, no entanto, eu junto diversos curriculos como esse em um grande pdf pra poupar tempo na hora de caçar essas informações, pra não ter que ficar abrindo e fechando cada CV em pdf.

Exemplo.pdf

Link para o comentário
Compartilhar em outros sites

Pois é, quando faço extração de info de pdf's costumo usar o VBA no Word pois ele converte para docx com razoavelmente boa qualidade. No entanto, os currículos individuais em seu pdf não estão padronizados uns com os outros.

A grande maioria eu consegui extrair as informações mas em alguns o texto não fica selecionável diretamente pois está dentro de tabelas aninhadas em outras tabelas ou em figuras agrupadas dentro de outras figuras (tem Shapes, Frames, InlineShapes, Tables, OsCambau hehehe, uns dentro dos outros com até 5 níveis).

Mesmo assim tô tentando deslindar o nó, mas demora mais pela complexidade.

Link para o comentário
Compartilhar em outros sites

@Edson Luiz Branco eu tentei converter pra word também antes de pedir ajuda aqui no fórum,  imaginei que seria mais fácil a extração e dentro do próprio word eu usaria uma macro pra limpar o que eu não queria, mas ai topei com esse mesmo problema que você. Tá *****. Poxa Luiz, espero realmente que você consiga me ajudar nessa, isso ia otimizar HORAS do meu trabalho, e eu simplesmente ainda não consegui resolver essa sozinho, outra coisa, em outros tópicos percebi uma movimentação muito maior de pessoas entrando pra ajudar, eu coloquei o meu post no local errado ou coisa assim? Ou de fato ninguém mais liga pra excel? Eu particularmente adoro explorar cada parte do excel e aprender coisas novas dele, acho que um software com 30 anos (acho) de mercado que ainda é tão relevante como ele não deveria entrar no limbo, uma pessoa que domine e saiba manipular essa ferramenta jamais vai precisar pagar qualquer software pra nada.

Link para o comentário
Compartilhar em outros sites

Em 21/11/2020 às 07:33, VargasExcel disse:

...em outros tópicos percebi uma movimentação muito maior de pessoas entrando pra ajudar, eu coloquei o meu post no local errado ou coisa assim? Ou de fato ninguém mais liga pra excel?

 

Não, você está no fórum correto, @VargasExcel. O problema da pouca movimentação em relação ao seu tópico é porque essa questão de fazer scraping  em pdf's parece não fazer parte do metiê dos colaboradores daqui do fórum, penso eu.

Por outro lado, também acho um absurdo a Adobe não ter disponibilizado até hoje uma biblioteca gratuita para manipular os objetos internos de arquivos pdf, já que virou um padrão de documento. Até existe no Acrobat Pro, mas o valor é bem salgado.

Quanto à ninguém ligar pro Excel acho que não procede. Os diversos fóruns de Excel costumam ser muito movimentados e vídeo-aulas sobre o assunto são produzidas com muita frequência.

Talvez a diferença de hoje em relação à tempos idos é que não se vê mais aquelas discussões acaloradas em questões teóricas e conceituais sobre os problemas. Hoje vem, resolve seu imbróglio e se a resposta foi satisfatória  muitas vezes  nem mesmo fecha o assunto.

 

Em 21/11/2020 às 07:33, VargasExcel disse:

Poxa Luiz, espero realmente que você consiga me ajudar nessa,

 

Farei o que estiver ao meu alcance... :thumbsup:

Link para o comentário
Compartilhar em outros sites

@Edson Luiz Branco, se for ajudar um pouco, veja essa macro que adaptei:

 

Ela busca as informações, coloca na aba "PDF" e procura por padrões na primeira aba.

Na célula A2, a fórmula busca pelo padrão do nome. Acredito que a mesma lógica pode ser aplicada aos outros campos.

 

Se mantermos sempre o mesmo modelo de currículo, talvez funcione. 

 

Espero que ajude!

 

Extrair PDF.rar

Exemplo.pdf

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

5 horas atrás, ppeterk disse:

@Edson Luiz Branco, se for ajudar um pouco, veja essa macro que adaptei:

 

Ela busca as informações, coloca na aba "PDF" e procura por padrões na primeira aba.

Na célula A2, a fórmula busca pelo padrão do nome. Acredito que a mesma lógica pode ser aplicada aos outros campos.

 

Se mantermos sempre o mesmo modelo de currículo, talvez funcione. 

 

Espero que ajude!

 

Extrair PDF.rar 115 kB · 3 downloads

Exemplo.pdfUnavailable

Nossa tentei entender seu VBA e só fiquei mais confuso kkkk agr percebi o quanto sou leigo em VBA *****...

É @Edson Luiz Branco , talvez seja impressão minha. Espero que a planilha que o @ppeterk enviou possa te ajudar a me ajudar kkk porque eu fiquei mais perdido ainda.

Link para o comentário
Compartilhar em outros sites

Em 23/11/2020 às 20:18, VargasExcel disse:

...tentei entender seu VBA e só fiquei mais confuso

Vou tentar resumir o que o código usado no VBA do colega @ppeterk faz:

  •  O Módulo1 pelo que me consta é uma adaptação de um antigo código publicado a primeira vez em 2009 por um usuário no fórum americano administrado pelo notável Excel MVP Bill Jelen ("Mr. Excel"), situado no link PDF to Excel data copy:
    • Inicialmente você precisa ter o Adobe Acrobat Reader 32 bits instalado em sua máquina para funcionar;
    • Na rotina *Start o código começa deixando o usuário escolher qual pdf será processado através da caixa de diálogo GetSaveAsFilename. Se me permite a sugestão, aqui o mais coerente seria talvez usar a análoga Application.GetOpenFileName já que não é um salvamento e sim abertura de arquivo (para isso é só eliminar o parâmetro InitialFileName). O nome do pdf escolhido é lançado numa variável;
    • Na sequência o pdf é aberto no Acrobat Reader o qual é iniciado via Shell passando como parâmetro na linha de comando o nome do pdf que está na variável;
    • Aguarda 4 segundos para executar a rotina FirstStep (tempo pra carregar o Reader e o pdf);
    • A rotina FirstStep manda então um pressionamento de tecla CTRL + A na tela do Adobe (Selecionar Tudo) via SendKeys e em seguida um CTRL + C (copiar p/ Área de Transferência);
    • Mais uma pausa de 4 seg para a SecondStep;
    • A rotina SecondStep inicialmente deveria fechar o Reader com pressionamento de ALT + F + X entretanto, para o Reader em português, teria que ser substituído por CTRL + Q (SendKeys ("^q"));
    • Ainda na mesma procedure o arquivo Excel é ativado, a planilha "PDF" é ativada, as células são previamente limpas e o conteúdo da clipboard é colado na célula A1 pelo envio do pressionamento CTRL + V;
    • Finalmente ocorre o pressionamento da tecla NUMLOCK seguido de ALT + S que honestamente não sei qual finalidade.
  • O Módulo2 não está sendo usado
  • Resumindo, o código abre, seleciona, copia e cola o pdf da célula A1 em diante da  planilha "PDF".

 

Em 23/11/2020 às 15:14, ppeterk disse:

Se mantermos sempre o mesmo modelo de currículo, talvez funcione. 

 

Esse é o problema central. Não há um padrão rigoroso no modelo. Pelo menos não um que o @VargasExcel possa ele mesmo determinar.

 

Em 23/11/2020 às 15:14, ppeterk disse:

@Edson Luiz Branco, se for ajudar um pouco, veja essa macro que adaptei...

 

Em 23/11/2020 às 20:18, VargasExcel disse:

Espero que a planilha que o @ppeterk enviou possa te ajudar...

 

A vantagem do código que o @ppeterk disponibilizou é que todos os candidatos aparecem no conteúdo de texto puro colado nas células o que não está ocorrendo na conversão direta para o Word (apesar de o texto estar lá pois pode ser pesquisado).

 

A desvantagem principal é que não é possível refluir o pdf conforme as posições originais dos boxes como estão sendo layoutados no original, sendo que partes de trechos que estão em blocos à direita acabam por se misturar ao texto à esquerda o que eventualmente pode tornar a extração não tão confiável.

Além disso, cabeçalhos e rodapés que no Word ficam corretamente desmembrados do texto principal, também acabam por ficar diluídos no meio do conteúdo dos dados dos candidatos.

Particularmente também não sou muito fã de trabalhar com programas externos através de pressionamentos de tecla na tela (via SendKeys).

 

Mas fica sim como uma carta na manga. Se ficar inviável extrair como imaginado devido à complexidade, temos essa alternativa pra trabalhar, afinal não são muitos dados que você precisa extrair.

 

Vamos seguindo trocando ideias, colegas.:thumbsup:

 

Link para o comentário
Compartilhar em outros sites

@Edson Luiz Branco Realmente a explicação ficou fantástica, passo a enxergar o código com outros olhos agora, mas pro meu caso em específico, realmente não resolve. Eu esperava mandar a informação direto pra cada célula da tabela, e uma coisa q percebi, não preciso de todas as páginas do pdf, posso só manter as primeiras páginas de cada CV, assim cada página vai ter exatamente algo pra puxar informação.

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!