Como Usar o PyPDF Facilmente?
Como Trabalhar com PDFs no Python
O formato de documento portátil, ou PDF, é um formato de arquivo que pode ser usado para apresentar e trocar documentos de forma confiável em diferentes sistemas operacionais. Embora o PDF tenha sido originalmente desenvolvido pela Adobe, agora é um padrão aberto mantido pela Organização Internacional de Normalização (ISO). É possível trabalhar com arquivos PDF existentes no Python usando a biblioteca PyPDF2.
O PyPDF2 é uma biblioteca em Python pura que pode ser usada para várias operações em documentos PDF.
Ao final deste artigo, você aprenderá a fazer o seguinte:
- Extrair informações do documento de um PDF em Python
- Rotacionar páginas
- Mesclar PDFs
- Dividir PDFs
- Adicionar marcas d’água
- Criptografar um PDF
Vamos começar!
História do pyPdf
, PyPDF2
e PyPDF4
A biblioteca original pyPdf
foi lançada em 2005. A última versão oficial do pyPdf
foi em 2010. Após cerca de um ano, uma empresa chamada Phasit patrocinou uma bifurcação do pyPdf
chamada de PyPDF2
. O código foi escrito para ser compatível com as versões anteriores e funcionou muito bem por vários anos, com a última versão lançada em 2016.
Houve uma série breve de lançamentos de uma biblioteca chamada PyPDF3
, e então o projeto foi renomeado para PyPDF4
. Todos esses projetos fazem praticamente a mesma coisa, mas a maior diferença entre pyPdf
e PyPDF2+
é que as versões posteriores adicionaram suporte para Python 3. Existe também uma versão do pyPdf
para Python 3, no entanto, não foi mantida por muitos anos.
Embora o PyPDF2
tenha sido abandonado em 2016, ele foi revivido em 2022 e está atualmente sendo mantido ativamente. A nova versão do PyPDF4
não é completamente compatível com o PyPDF2
. A maioria dos exemplos neste artigo funcionará perfeitamente com o PyPDF4
, mas alguns não funcionarão, por isso o PyPDF4
não é utilizado com tanta frequência neste artigo. Sinta-se à vontade para substituir os imports do PyPDF2
pelo PyPDF4
e ver como funciona para você.
pdfrw
: Uma Alternativa
Patrick Maupin criou uma biblioteca chamada pdfrw
que pode fazer muitas das mesmas coisas que o PyPDF2
. Você pode usar o pdfrw
para realizar as mesmas tarefas apresentadas neste artigo usando o PyPDF2
, com exceção da criptografia.
A maior diferença ao usar o pdfrw
é que ele integra-se à biblioteca ReportLab, permitindo que você pegue um PDF existente e construa um novo com o ReportLab, usando parte ou todo o PDF existente.
Instalação
A instalação do PyPDF2
pode ser feita usando o pip
ou o conda
, caso esteja usando o Anaconda em vez do Python comum.
Aqui está como você pode instalar o PyPDF2
com o pip
:
A instalação é rápida, já que o PyPDF2
não possui dependências. Provavelmente, você gastará tanto tempo baixando o pacote quanto instalando-o.
Agora, vamos ver como podemos trabalhar com PDFs em Python usando o PyPDF2
.
Como Extrair Informações de um Documento PDF em Python
Para extrair informações de um PDF em Python usando o PyPDF2
, siga estes passos:
- Importe a classe
PdfFileReader
doPyPDF2
. - Abra o arquivo PDF em modo de leitura binária usando a função
open()
. - Crie uma instância da classe
PdfFileReader
passando o arquivo aberto como argumento. - Use o método
getNumPages()
para obter o número total de páginas do PDF. - Utilize o método
getDocumentInfo()
para obter informações do documento, como o título, autor e palavras-chave. - Por fim, feche o arquivo usando o método
close()
.
Aqui está o código para realizar essas etapas:
Certifique-se de substituir 'documento.pdf'
pelo caminho do arquivo PDF que você deseja extrair informações.
Depois de executar este código, você deverá ver o número total de páginas do PDF e as informações do documento impressas no console.
Como Rotacionar Páginas de um PDF
Com o PyPDF2
, é possível rotacionar páginas específicas de um PDF. Aqui está um exemplo de como fazer isso:
Certifique-se de substituir 'documento.pdf'
pelo caminho do arquivo PDF que você deseja rotacionar e 'documento_rotacionado.pdf'
pelo nome desejado para o novo arquivo PDF com as páginas rotacionadas.
Após executar este código, você deve encontrar um novo arquivo PDF com as páginas rotacionadas de 90 graus.
Como Mesclar PDFs
O PyPDF2
também permite mesclar vários arquivos PDF em um único arquivo. Veja como fazer isso:
Certifique-se de substituir 'arquivo1.pdf'
, 'arquivo2.pdf'
etc. pelos caminhos dos arquivos PDF que você deseja mesclar. Substitua 'arquivo_mesclado.pdf'
pelo nome desejado para o arquivo de saída que conterá a mesclagem dos PDFs.
Após executar esse código, você terá um arquivo PDF único que contém todas as páginas dos arquivos PDF mesclados.
Como Dividir PDFs
Usando o PyPDF2
, você também pode dividir um arquivo PDF em vários arquivos menores. Aqui está um exemplo de como fazer isso:
Certifique-se de substituir 'documento.pdf'
pelo caminho do arquivo PDF que você deseja dividir. O código criará um arquivo PDF separado para cada página do PDF original, nomeados como 'documento_pagina_1.pdf'
, 'documento_pagina_2.pdf'
, e assim por diante.
Após executar este código, você terá vários arquivos PDF, cada um contendo uma página do PDF original.
Como Adicionar Marcas d’Água aos PDFs
É possível adicionar marcas d’água aos arquivos PDF usando o PyPDF2
. Aqui está um exemplo de como fazer isso:
Certifique-se de substituir 'documento.pdf'
pelo caminho do arquivo PDF ao qual você deseja adicionar a marca d’água. O código criará um arquivo PDF separado para cada página do PDF original com a marca d’água, nomeados como 'marca_dagua_pagina_1.pdf'
, 'marca_dagua_pagina_2.pdf'
, e assim por diante. Em seguida, as páginas do PDF original serão mescladas com as páginas do PDF com a marca d’água, criando um novo arquivo PDF com a marca d’água.
Após executar este código, você terá um novo arquivo PDF com a marca d’água adicionada em cada página.
Como Criptografar um PDF
O PyPDF2
permite criptografar arquivos PDF com uma senha. Aqui está um exemplo de como fazer isso:
Certifique-se de substituir 'documento.pdf'
pelo caminho do arquivo PDF que você deseja criptografar. Substitua 'senha'
pela senha desejada para criptografar o PDF.
Após executar esse código, você terá um novo arquivo PDF criptografado com a senha fornecida.
Conclusão
Neste artigo, você aprendeu como trabalhar com arquivos PDF no Python usando a biblioteca PyPDF2. Você viu como extrair informações de um PDF, rotacionar páginas, mesclar PDFs, dividir PDFs, adicionar marcas d’água e criptografar PDFs. Essas são apenas algumas das operações possíveis que você pode realizar com PDFs usando o PyPDF2.
Para aprender mais sobre o PyPDF2 e a manipulação de arquivos PDF no Python, você pode consultar a documentação oficial do PyPDF2 e o livro “Automate the Boring Stuff with Python” de Al Sweigart.
Esperamos que este artigo tenha sido útil e que você agora tenha uma compreensão melhor de como trabalhar com PDFs no Python. Divirta-se explorando mais recursos e funcionalidades do PyPDF2 em seus projetos!