import gradio as gr from docx import Document import os # Diretório para salvar o TCC gerado OUTPUT_DIR = "results" os.makedirs(OUTPUT_DIR, exist_ok=True) def generate_tcc(student_name, course_name, tcc_title, year, city, introduction, development, conclusion): # Nome do arquivo gerado output_path = os.path.join(OUTPUT_DIR, "TCC_Formatado_ABNT.docx") # Criação do documento doc = Document() doc.add_paragraph("FACULDADE EXEMPLO DE ENSINO SUPERIOR", style='Title') doc.add_paragraph(f"CURSO DE {course_name.upper()}", style='Subtitle') doc.add_paragraph("\n") doc.add_paragraph(tcc_title.upper(), style='Title') doc.add_paragraph("\n") doc.add_paragraph(student_name, style='Subtitle') doc.add_paragraph("\n") doc.add_paragraph(f"{city} - {year}") # Adicionando conteúdo doc.add_page_break() doc.add_heading("1 INTRODUÇÃO", level=1) doc.add_paragraph(introduction) doc.add_page_break() doc.add_heading("2 DESENVOLVIMENTO", level=1) doc.add_paragraph(development) doc.add_page_break() doc.add_heading("3 CONCLUSÃO", level=1) doc.add_paragraph(conclusion) doc.add_page_break() doc.add_heading("REFERÊNCIAS", level=1) doc.add_paragraph("Adicione referências aqui.") # Salvar o documento doc.save(output_path) return output_path # Configuração da interface Gradio interface = gr.Interface( fn=generate_tcc, inputs=[ gr.Textbox(label="Nome do Aluno", placeholder="Digite o nome do aluno"), gr.Textbox(label="Curso", placeholder="Digite o nome do curso", value="Terapia Ocupacional"), gr.Textbox(label="Título do TCC", placeholder="Digite o título do TCC"), gr.Textbox(label="Ano", placeholder="Digite o ano", value="2024"), gr.Textbox(label="Cidade", placeholder="Digite a cidade", value="Fortaleza"), gr.Textbox(label="Introdução", placeholder="Cole aqui o texto da introdução", lines=5), gr.Textbox(label="Desenvolvimento", placeholder="Cole aqui o texto do desenvolvimento", lines=10), gr.Textbox(label="Conclusão", placeholder="Cole aqui o texto da conclusão", lines=5), ], outputs=gr.File(label="Download do TCC"), title="Gerador de TCC - Normas ABNT", description="Preencha as informações e cole os textos para gerar um TCC formatado nas normas ABNT." ) # Executa o aplicativo Gradio if __name__ == "__main__": interface.launch()