PDFs são uma forma comum de partilhar texto. PDF significa Portable Document Format e usa a extensão .pdf. Ele foi criado no início dos anos 90 pelo Adobe Systems.

Ler documentos PDF usando python pode ajudá-lo a automatizar uma grande variedade de tarefas.

Neste tutorial vamos aprender como extrair texto de um arquivo PDF em Python.

Vamos começar.

Leitura e extracção de texto de um ficheiro PDF em Python

Para o propósito deste tutorial estamos a criar um exemplo de PDF com 2 páginas. Você pode fazê-lo usando qualquer processador Word como o Microsoft Word ou Google Docs e salvar o arquivo como PDF.

Texto na página 1:

Hello World. This is a sample PDF with 2 pages. This is the first page. 

Texto na página 2:

This is the text on Page 2. 

Usando PyPDF2 para Extrair Texto em PDF

Você pode usar PyPDF2 para extrair texto de um PDF. Vamos ver como funciona.

1. Instale o pacote

Para instalar o PyPDF2 no seu sistema introduza o seguinte comando no seu terminal. Você pode ler mais sobre o gerenciador de pacotes pip.

pip install pypdf2
Pypdf
Pypdf

2. Importar PyPDF2

Abrir um novo notebook python e começar a importar o PyPDF2.

import PyPDF2

3. Abra o PDF em modo binário de leitura

Inicie com a abertura do PDF em modo binário de leitura usando a seguinte linha de código:

pdf = open('sample_pdf.pdf', 'rb')

Isto irá criar um objecto PdfFileReader para o nosso PDF e armazená-lo na variável ‘pdf’.

4. Use PyPDF2.PdfFileReader() para ler o texto

Agora você pode usar o método PdfFileReader() do PyPDF2 para ler o arquivo.

pdfReader = PyPDF2.PdfFileReader(pdf)

Para obter o texto da primeira página do PDF, use as seguintes linhas de código:

page_one = pdfReader.getPage(0)print(page_one.extractText())

Será obtido o resultado como:

Hello World. !This is a sample PDF with 2 pages. !This is the first page. !Process finished with exit code 0

Aqui usamos o método getPage para armazenar a página como um objeto. Depois usamos o método extractText() para obter texto do objeto page.

O texto que obtemos é do tipo String.

Simplesmente para obter a segunda página do uso do PDF:

page_one = pdfReader.getPage(1)print(page_one.extractText())

Recebemos a saída como :

This is the text on Page 2.

Código completo para ler texto PDF usando PyPDF2

O código completo desta seção é dado abaixo:

import PyPDF2pdf = open('sample_pdf.pdf', 'rb')pdfReader = PyPDF2.PdfFileReader(pdf)page_one = pdfReader.getPage(0)print(page_one.extractText())

Se você notar, a formatação da primeira página está um pouco fora da saída acima. Isto porque o PyPDF2 não é muito eficiente na leitura de PDFs.

Por sorte, Python tem uma alternativa melhor ao PyPDF2. Nós vamos ver isso a seguir.

Usando PDFplumber para Extrair Texto

PDFplumber é outra ferramenta que pode extrair texto de um PDF. É mais poderoso em comparação com o PyPDF2.

1. Instale o pacote

Comecemos com a instalação do PDFplumber.

pip install pdfplumber
Pdfplumber
Pdfplumber

2. Importar pdfplumber

Comece com a importação de PDFplumber usando a seguinte linha de código :

>

import pdfplumber

3. Usando PDFplumber para ler pdfs

Você pode começar a ler PDFs usando PDFplumber com o seguinte código:

with pdfplumber.open(“sample_pdf.pdf”) as pdf: first_page = pdf.pages print(first_page.extract_text())

Isto irá obter o texto da primeira página do nosso PDF. A saída vem como:

Hello World. This is a sample PDF with 2 pages. This is the first page. Process finished with exit code 0

Você pode comparar isso com a saída do PyPDF2 e ver como o PDFplumber é melhor quando se trata de formatação.

PDFplumber também fornece opções para obter outras informações do PDF.

Por exemplo, você pode usar o .page_number para obter o número da página.

print(first_page.page_number)

Saída :

Deixe uma resposta

O seu endereço de email não será publicado.