AndreySokolov01 commited on
Commit
14c1150
·
verified ·
1 Parent(s): d3bb590

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -13
app.py CHANGED
@@ -1,5 +1,6 @@
1
  import gradio as gr
2
  import pdfkit
 
3
 
4
  # Функция для генерации PDF из введенного текста
5
  def generate_pdf(text):
@@ -24,17 +25,26 @@ def generate_pdf(text):
24
  </html>
25
  """
26
 
27
- # Сохраняем HTML-контент во временный файл
28
- html_path = "/mnt/data/chat_dialog.html"
29
- pdf_path = "/mnt/data/chat_dialog.pdf"
30
 
31
- with open(html_path, "w", encoding="utf-8") as html_file:
32
- html_file.write(html_content)
 
 
33
 
34
- # Конвертируем HTML в PDF
35
- pdfkit.from_file(html_path, pdf_path)
36
 
37
- return pdf_path
 
 
 
 
 
 
 
38
 
39
  # Функция для создания и запуска приложения Gradio
40
  def run_app():
@@ -43,16 +53,16 @@ def run_app():
43
  with gr.Row():
44
  chatbot = gr.Chatbot()
45
  with gr.Column():
46
- user_input = gr.Textbox(label="Введите текст из чата")
47
  generate_button = gr.Button("Сохранить в PDF")
48
- pdf_link = gr.Textbox(label="Ссылка на PDF")
49
 
50
- # Устанавливаем действие кнопки
51
- generate_button.click(generate_pdf, inputs=user_input, outputs=pdf_link)
52
 
53
  # Запуск приложения
54
  demo.launch()
55
 
56
  # Запуск приложения через вызов функции
57
  if __name__ == "__main__":
58
- run_app()
 
1
  import gradio as gr
2
  import pdfkit
3
+ import os
4
 
5
  # Функция для генерации PDF из введенного текста
6
  def generate_pdf(text):
 
25
  </html>
26
  """
27
 
28
+ # Задаем пути к временным файлам
29
+ html_path = "chat_dialog.html"
30
+ pdf_path = "chat_dialog.pdf"
31
 
32
+ try:
33
+ # Сохраняем HTML-контент во временный файл
34
+ with open(html_path, "w", encoding="utf-8") as html_file:
35
+ html_file.write(html_content)
36
 
37
+ # Конвертируем HTML в PDF
38
+ pdfkit.from_file(html_path, pdf_path)
39
 
40
+ # Возвращаем путь к PDF-файлу
41
+ return pdf_path
42
+ except Exception as e:
43
+ return f"Произошла ошибка при создании PDF: {str(e)}"
44
+ finally:
45
+ # Удаляем временный HTML-файл, если он существует
46
+ if os.path.exists(html_path):
47
+ os.remove(html_path)
48
 
49
  # Функция для создания и запуска приложения Gradio
50
  def run_app():
 
53
  with gr.Row():
54
  chatbot = gr.Chatbot()
55
  with gr.Column():
56
+ user_input = gr.Textbox(label="Введите текст из чата", placeholder="Введите текст...")
57
  generate_button = gr.Button("Сохранить в PDF")
58
+ pdf_link = gr.Textbox(label="Ссылка на PDF", interactive=False)
59
 
60
+ # Устанавливаем действие для кнопки
61
+ generate_button.click(generate_pdf, inputs=[user_input], outputs=[pdf_link])
62
 
63
  # Запуск приложения
64
  demo.launch()
65
 
66
  # Запуск приложения через вызов функции
67
  if __name__ == "__main__":
68
+ run_app()