SaveChat_to_pdf / app.py
AndreySokolov01's picture
Update app.py
7cdf99a verified
raw
history blame
1.55 kB
import gradio as gr
import pdfkit
# Функция для генерации PDF из введенного текста
def generate_pdf(text):
# Создаем HTML-контент с текстом
html_content = f"""
<!DOCTYPE html>
<html>
<head>
<title>Диалог из чата</title>
<style>
body {{
font-family: Arial, sans-serif;
font-size: 14px;
line-height: 1.5;
}}
</style>
</head>
<body>
<h1>Диалог из чата</h1>
<p>{text}</p>
</body>
</html>
"""
# Сохраняем 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
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()