Extrair o texto de um PDF usando PyPDF2

1. Extrair o texto de um PDF usando PyPDF2

Nicolas Reis
NickReis2019

(usa Outra)

Enviado em 18/07/2019 - 11:44h

Eu estou tentando extrair o texto de um PDF usando Python, eu fiz isso usando PyPDF2, mas isso me retorna todo o conteúdo, eu quero só uma parte especifica do PDF, como faço pra conseguir isso ?
Estou usando o seguinte código pra extração do conteúdo do PDF:

import PyPDF2

reader = PyPDF2.PdfFileReader('teste.pdf', 'rb')
p = reader.getPage(1)
text = p.extractText()

print (text)


  


2. Re: Extrair o texto de um PDF usando PyPDF2

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/07/2019 - 13:09h


Por que você não corta o PDF que você quer
antes de passar no programa?


3. Re: Extrair o texto de um PDF usando PyPDF2

Nicolas Reis
NickReis2019

(usa Outra)

Enviado em 18/07/2019 - 21:25h

Preciso fazer isso com vários PDF, se eu conseguir fazer esse corte do PDF com código seria muito bom, sabe como posso fazer isso ?


4. Re: Extrair o texto de um PDF usando PyPDF2

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/07/2019 - 22:02h

Na minha pesquisa, parece que o povo gosta de usar o
pdftk 

Mas tem que ver se ele está disponível nos repos da sua distro..
Vários exemplos de comando em:
https://askubuntu.com/questions/221962/how-can-i-extract-a-page-range-a-part-of-a-pdf/376869

Tem também o
pdfseparate 

https://superuser.com/questions/345086/split-pdf-document-from-command-line-in-linux

Agora, eu gosto muito do GhostScript, pacote de ferramentas para se trabalhar com PDFs..
Achei um script que usa o Ghostscript para extrair as páginas dos PDFs, sintaxe muito fácil!
Testei aqui e funcionou (porém fiz o teste extraindo a primeira e segunda páginas!)
https://gist.github.com/Cyianor/f044e23a00a6db79971dd69aba1ba208

Sintaxe:
$ SCRIPT.sh [primera_página] [última_página] [/caminho/pdf_entrada] [/caminho/novo_pdf] 


Se for usar o gs de uma vez:

$ gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -dFirstPage=?? -dLastPage=?? -sOutputFile=/caminho/novo_pdf  /caminho/pdf_entrada 


Veja que ?? se referem às páginas iniciais e finais da extração, no seu caso 1 e 1.


Para transformar pgs de PDF em imagens (não é bem seu caso, mas vou deixar aqui
para referência), poderá utilizar o imagemagick e ghostscript:
http://codetheory.in/convert-split-pdf-files-into-images-with-imagemagick-and-ghostscript/
https://www.binarytides.com/convert-pdf-image-imagemagick-commandline/


5. Re: Extrair o texto de um PDF usando PyPDF2

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/07/2019 - 22:20h

Já estava encerrando, mas parece que tem uma livraria no Python (PyPdf)
que dá para fazer algumas manipulações no PDF..

Tem um script de como ele funciona em:
https://unix.stackexchange.com/questions/12482/split-pages-in-pdf

PS: Eu acho que tava com sono msm, nem vi que era essa mesma livraria que tu
tinha perguntado a respeito no título, cara! Falow)


6. Re: Extrair o texto de um PDF usando PyPDF2

Nicolas Reis
NickReis2019

(usa Outra)

Enviado em 19/07/2019 - 09:03h

Achei a resposta.

Pegue a posição da "parte desejada" do texto:
pos = text.find("NOME:")

Em seguida use essa variável na hora de obter o restante do texto que deseja:
print(text[pos:pos+15])

NOME: Nicolas dos Reis

Deu certo pra mim pq tiro informações de varios PDFs e oque muda é depois de NOME: (Variável)


7. Re: Extrair o texto de um PDF usando PyPDF2

Nicolas Reis
NickReis2019

(usa Outra)

Enviado em 19/07/2019 - 11:37h

Só mais uma coisa, como eu salvo esse texto extraído do PDF num arquivo ?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts