tomaseo2022 commited on
Commit
2d6c2ca
1 Parent(s): e8c63d0

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -0
app.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ os.system("pip install PyMuPDF")
3
+ import gradio as gr
4
+ import fitz # PyMuPDF
5
+ import tempfile
6
+
7
+ def xml_to_pdf(xml_file):
8
+ try:
9
+ # Verificar si se recibió un archivo
10
+ if xml_file is None:
11
+ raise ValueError("No se recibió ningún archivo XML.")
12
+
13
+ # Leer el contenido del archivo XML
14
+ with open(xml_file.name, "r") as file:
15
+ xml_text = file.read()
16
+
17
+ # Crear un archivo temporal con extensión .pdf para almacenar el texto
18
+ temp_dir = tempfile.mkdtemp()
19
+ temp_file_path = os.path.join(temp_dir, "converted_pdf.pdf")
20
+
21
+ # Usar PyMuPDF para crear un documento PDF con el texto del archivo XML
22
+ pdf_document = fitz.open()
23
+ pdf_page = pdf_document.new_page()
24
+ pdf_page.insert_text((50, 50), xml_text)
25
+ pdf_document.save(temp_file_path)
26
+ pdf_document.close()
27
+
28
+ # Devolver la ruta del archivo temporal PDF
29
+ return temp_file_path
30
+
31
+ except Exception as e:
32
+ return f"Error al procesar el archivo: {str(e)}"
33
+
34
+ file_input = gr.inputs.File(label="Selecciona un archivo XML", type="file")
35
+ file_output = gr.outputs.File(label="Descargar archivo PDF", type="download")
36
+ iface = gr.Interface(fn=xml_to_pdf, inputs=file_input, outputs=file_output)
37
+
38
+ iface.launch(share=True)