cutechicken commited on
Commit
8cc866b
·
verified ·
1 Parent(s): a922776

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -16
app.py CHANGED
@@ -1,18 +1,21 @@
1
  import gradio as gr
2
  import vtracer
3
  import os
4
- from svglib.svglib import svg2rlg
5
- from reportlab.graphics import renderPDF
6
 
7
- def create_pdf_preview(svg_path):
8
- """SVG를 PDF로 변환하여 미리보기용 PDF 생성"""
9
  try:
10
- drawing = svg2rlg(svg_path)
11
- pdf_path = svg_path.replace('.svg', '_preview.pdf')
12
- renderPDF.drawToFile(drawing, pdf_path)
13
- return pdf_path
 
 
 
 
 
14
  except Exception as e:
15
- print(f"PDF 미리보기 생성 실패: {str(e)}")
16
  return None
17
 
18
  def convert_svg_to_ai(svg_path):
@@ -59,10 +62,10 @@ def convert_svg_to_ai(svg_path):
59
  ai_file.write("\n%%EndDocument\n")
60
  ai_file.write("\n%%Trailer\n%%EOF\n")
61
 
62
- # PDF 미리보기 생성
63
- pdf_preview = create_pdf_preview(svg_path)
64
 
65
- return ai_path, pdf_preview
66
 
67
  def convert_to_vector(
68
  image,
@@ -122,10 +125,9 @@ def convert_to_vector(
122
 
123
  # AI 파일 처리
124
  if save_ai:
125
- ai_path, pdf_preview = convert_svg_to_ai(svg_path)
126
  outputs.append(ai_path)
127
- if pdf_preview:
128
- ai_preview = pdf_preview
129
 
130
  if not save_svg: # SVG가 선택되지 않았다면 임시 파일 삭제
131
  os.remove(svg_path)
@@ -224,7 +226,7 @@ with gr.Blocks(css=css) as app:
224
  preview = gr.HTML(label="SVG Preview")
225
  svg_output = gr.File(label="Download SVG", visible=True)
226
  with gr.Tab("AI Preview"):
227
- ai_preview = gr.PDF(label="AI Preview")
228
  ai_output = gr.File(label="Download AI", visible=True)
229
 
230
  examples = [
 
1
  import gradio as gr
2
  import vtracer
3
  import os
 
 
4
 
5
+ def create_preview_html(svg_path):
6
+ """SVG를 HTML 미리보기로 변환"""
7
  try:
8
+ with open(svg_path, 'r', encoding='utf-8') as f:
9
+ svg_content = f.read()
10
+ # SVG를 HTML로 감싸서 반환
11
+ preview_html = f'''
12
+ <div style="width:100%; height:100%; background-color: white; padding: 20px;">
13
+ {svg_content}
14
+ </div>
15
+ '''
16
+ return preview_html
17
  except Exception as e:
18
+ print(f"미리보기 생성 실패: {str(e)}")
19
  return None
20
 
21
  def convert_svg_to_ai(svg_path):
 
62
  ai_file.write("\n%%EndDocument\n")
63
  ai_file.write("\n%%Trailer\n%%EOF\n")
64
 
65
+ # HTML 미리보기 생성
66
+ preview_html = create_preview_html(svg_path)
67
 
68
+ return ai_path, preview_html
69
 
70
  def convert_to_vector(
71
  image,
 
125
 
126
  # AI 파일 처리
127
  if save_ai:
128
+ ai_path, preview_html = convert_svg_to_ai(svg_path)
129
  outputs.append(ai_path)
130
+ ai_preview = preview_html
 
131
 
132
  if not save_svg: # SVG가 선택되지 않았다면 임시 파일 삭제
133
  os.remove(svg_path)
 
226
  preview = gr.HTML(label="SVG Preview")
227
  svg_output = gr.File(label="Download SVG", visible=True)
228
  with gr.Tab("AI Preview"):
229
+ ai_preview = gr.HTML(label="AI Preview")
230
  ai_output = gr.File(label="Download AI", visible=True)
231
 
232
  examples = [