tomaseo2022 commited on
Commit
b42ca12
1 Parent(s): 5d2f8aa

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -10
app.py CHANGED
@@ -1,20 +1,22 @@
1
  import gradio as gr
2
  import fitz
3
- import io
4
  import zipfile
 
5
 
6
  def pdf_to_cbz(pdf_file):
7
  try:
8
  # Verificar si se recibi贸 un archivo
9
  if pdf_file is None:
10
  raise ValueError("No se recibi贸 ning煤n archivo PDF.")
11
-
12
  # Leer el archivo PDF desde los bytes recibidos
13
  pdf = fitz.open(stream=pdf_file, filetype="pdf")
14
 
15
- # Crear un archivo ZIP en memoria para el CBZ
16
- cbz_bytes = io.BytesIO()
17
- with zipfile.ZipFile(cbz_bytes, "w") as zipf:
 
18
  for page_num in range(len(pdf)):
19
  page = pdf.load_page(page_num)
20
  pix = page.get_pixmap()
@@ -24,9 +26,7 @@ def pdf_to_cbz(pdf_file):
24
  # Cerrar el documento PDF
25
  pdf.close()
26
 
27
- # Configurar el archivo CBZ para descargar
28
- cbz_bytes.seek(0)
29
- return cbz_bytes
30
 
31
  except Exception as e:
32
  return f"Error al procesar el archivo: {str(e)}"
@@ -34,11 +34,10 @@ def pdf_to_cbz(pdf_file):
34
  iface = gr.Interface(
35
  fn=pdf_to_cbz,
36
  inputs=gr.File(type="binary", label="Cargar archivo PDF"),
37
- outputs=gr.File(type="binary", label="Descargar archivo CBZ"),
38
  title="Conversor de PDF a CBZ",
39
  description="Esta herramienta convierte un archivo PDF en un archivo CBZ."
40
  )
41
 
42
  if __name__ == "__main__":
43
  iface.launch()
44
-
 
1
  import gradio as gr
2
  import fitz
3
+ import tempfile
4
  import zipfile
5
+ import os
6
 
7
  def pdf_to_cbz(pdf_file):
8
  try:
9
  # Verificar si se recibi贸 un archivo
10
  if pdf_file is None:
11
  raise ValueError("No se recibi贸 ning煤n archivo PDF.")
12
+
13
  # Leer el archivo PDF desde los bytes recibidos
14
  pdf = fitz.open(stream=pdf_file, filetype="pdf")
15
 
16
+ # Crear un archivo ZIP temporal para el CBZ
17
+ temp_dir = tempfile.mkdtemp()
18
+ cbz_filename = os.path.join(temp_dir, "output.cbz")
19
+ with zipfile.ZipFile(cbz_filename, "w") as zipf:
20
  for page_num in range(len(pdf)):
21
  page = pdf.load_page(page_num)
22
  pix = page.get_pixmap()
 
26
  # Cerrar el documento PDF
27
  pdf.close()
28
 
29
+ return cbz_filename
 
 
30
 
31
  except Exception as e:
32
  return f"Error al procesar el archivo: {str(e)}"
 
34
  iface = gr.Interface(
35
  fn=pdf_to_cbz,
36
  inputs=gr.File(type="binary", label="Cargar archivo PDF"),
37
+ outputs=gr.File(type="filepath", label="Descargar archivo CBZ"),
38
  title="Conversor de PDF a CBZ",
39
  description="Esta herramienta convierte un archivo PDF en un archivo CBZ."
40
  )
41
 
42
  if __name__ == "__main__":
43
  iface.launch()