import gradio as gr import pdfkit # Функция для генерации PDF из введенного текста def generate_pdf(text): # Создаем HTML-контент с текстом html_content = f"""
{text}
""" # Сохраняем HTML-контент во временный файл html_path = "/mnt/data/chat_dialog.html" pdf_path = "/mnt/data/chat_dialog.pdf" with open(html_path, "w", encoding="utf-8") as html_file: html_file.write(html_content) # Конвертируем HTML в PDF pdfkit.from_file(html_path, pdf_path) return pdf_path # Функция для создания и запуска приложения Gradio def run_app(): # Интерфейс Gradio with gr.Blocks() as demo: with gr.Row(): chatbot = gr.Chatbot() with gr.Column(): user_input = gr.Textbox(label="Введите текст из чата") generate_button = gr.Button("Сохранить в PDF") pdf_link = gr.Textbox(label="Ссылка на PDF") # Устанавливаем действие для кнопки generate_button.click(generate_pdf, inputs=[user_input], outputs=[pdf_link]) # Запуск приложения demo.launch() # Запуск приложения через вызов функции if __name__ == "__main__": run_app()