from tkinter import *
from fpdf import FPDF
# Função para gerar o PDF
def gerar_pdf():
remetente = Remetente.get()
destinatario = Destinatário.get()
mensagem_texto = mensagem.get()
# Criar o PDF
pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size=12)
pdf.cell(0, 10, 'Relatório em PDF', ln=True, align='C')
pdf.cell(0, 10, f'Remetente: {remetente}', ln=True)
pdf.cell(0, 10, f'Destinatário: {destinatario}', ln=True)
pdf.cell(0, 10, 'Mensagem:', ln=True)
pdf.multi_cell(0, 10, mensagem_texto)
# Salvar o PDF
pdf_file_name = f"acarta_para_{destinatario}.pdf"
pdf.output(pdf_file_name)
print(f'carta: {pdf_file_name}')
# Opcional: Exibir uma mensagem de confirmação
resultado_label.config(text=f'Relatório gerado: {pdf_file_name}', fg="green")
# Configuração da interface Tkinter
root = Tk()
root.geometry("500x500")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Relatório em PDF")
titulo = Label(text="Relatório em PDF",
font=("Arial", "28", "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.15, rely=0.05)
texto_sub1 = Label(text="Remetente:",
font=("Arial", "18", "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.2)
texto_sub2 = Label(text="Destinatário:",
font=("Arial", "18", "bold"), bg="#103030", fg="#49e3e3")
texto_sub2.place(relx=0.05, rely=0.35)
texto_sub3 = Label(text="Mensagem",
font=("Arial", "18", "bold"), bg="#103030", fg="#49e3e3")
texto_sub3.place(relx=0.35, rely=0.45)
Remetente = StringVar()
Remetente_entrada = Entry(textvariable=Remetente,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Remetente_entrada.place(relx=0.38, rely=0.21, relwidth=0.58)
Destinatário = StringVar()
Destinatário_entrada = Entry(textvariable=Destinatário,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Destinatário_entrada.place(relx=0.38, rely=0.36, relwidth=0.58)
mensagem = StringVar()
mensagem_entrada = Entry(textvariable=mensagem,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
mensagem_entrada.place(relx=0.05, rely=0.53, relwidth=0.9, relheight=0.3)
# Botão para gerar o PDF
gerar_pdf_button = Button(text="Gerar PDF", command=gerar_pdf,
font=("Arial", "14", "bold"), bg="#49e3e3", fg="white")
gerar_pdf_button.place(relx=0.35, rely=0.87, relwidth=0.3, relheight=0.08)
# Label para mostrar o resultado da geração do PDF
resultado_label = Label(text="", font=("Arial", "12", "bold"), bg="#103030", fg="#49e3e3")
resultado_label.place(relx=0.05, rely=0.80)
root.mainloop()