import PyPDF2
from PyPDF2.generic import NameObject, TextStringObject
def preencher_formulario_pdf(input_pdf, output_pdf, dados):
with open(input_pdf, 'rb') as arquivo:
leitor = PyPDF2.PdfReader(arquivo)
escritor = PyPDF2.PdfWriter()
escritor.clone_document_from_reader(leitor)
campos = leitor.get_fields()
if campos is None:
print("Nenhum campo de formulário encontrado no PDF.")
return
print("Campos encontrados no PDF:")
for campo_nome, campo_info in campos.items():
print(f"Campo: {campo_nome}, Página: {campo_info.page}")
for campo_nome, campo_info in campos.items():
if campo_nome in dados:
escritor.update_page_form_field_values(
escritor.pages[campo_info.page], {campo_nome: dados[campo_nome]}
)
with open(output_pdf, 'wb') as saida:
escritor.write(saida)
dados = {
'NOME': 'PESSOA',
'ENDEREÇO': ' EBE ASA NORTE, 123',
'CPF': '123.456.789-00'
}
input_pdf = 'documento.pdf'
output_pdf = 'documentopreenchido.pdf'
preencher_formulario_pdf(input_pdf, output_pdf, dados)