Python PDF Protect Single File
Abaixo você encontra os procedimentos para configuração e o código-fonte em Python desenvolvido para proteger arquivos PDF individualmente adicionando senhas de usuário e proprietário.
Procedimento Operacional Padrão (POP)
1. Criar o ambiente virtual (venv) no Windows
Ainda não criou o seu ambiente localhost? Veja no link abaixo como fazer.
2. Instalar as bibliotecas Python
Com o ambiente virtual ativado, instale a biblioteca externa pypdf necessária para a manipulação e criptografia dos arquivos PDF:
pip install pypdf
3. Como configurar o script
-
Estrutura de Pastas: Certifique-se de que o diretório de destino (ex:
C:\test\) exista ou ajuste os caminhos dos arquivos de entrada (file.pdf) e saída (file-psw.pdf) no script conforme a sua estrutura local. -
Leitura e Criação do PDF: Utilize o
PdfReaderpara abrir o arquivo original e oPdfWriterpara gerar o novo documento com as páginas copias. -
Criptografia e Senhas: Utilize o método
writer.encrypt()configurando:user_password: Senha necessária para abrir e visualizar o PDF (ex:"psw123").owner_password: Senha do proprietário para gerenciamento de permissões e restrições do arquivo (ex:"psw456").use_128bit: Define a força do algoritmo de criptografia (128-bit) para garantir maior segurança.
-
Gravação do Arquivo Protegido: Salva o novo arquivo binário gerado através do gerenciador de contexto
open(..., "wb")e da funçãowriter.write(f).
Código-Fonte
# REQUEST LIB PYTHON
from pypdf import PdfReader, PdfWriter
reader = PdfReader("C:\\test\\file.pdf")
writer = PdfWriter()
# COPY PAGES
for page in reader.pages:
writer.add_page(page)
# ADD PSW
writer.encrypt(user_password="psw123", owner_password="psw456", use_128bit=True)
with open("C:\\test\\file-psw.pdf", "wb") as f:
writer.write(f)