Spaces:
Sleeping
Sleeping
import os | |
os.system("pip install PyMuPDF") | |
import gradio as gr | |
import fitz # PyMuPDF | |
import tempfile | |
def xml_to_pdf(xml_file): | |
try: | |
# Verificar si se recibi贸 un archivo | |
if xml_file is None: | |
raise ValueError("No se recibi贸 ning煤n archivo XML.") | |
# Leer el contenido del archivo XML | |
xml_text = xml_file.decode("utf-8") | |
# Crear un archivo temporal con extensi贸n .pdf para almacenar el texto | |
temp_dir = tempfile.mkdtemp() | |
temp_file_path = os.path.join(temp_dir, "converted_pdf.pdf") | |
# Usar PyMuPDF para crear un documento PDF con el texto del archivo XML | |
pdf_document = fitz.open() | |
pdf_page = pdf_document.new_page() | |
pdf_page.insert_text((50, 50), xml_text) | |
pdf_document.save(temp_file_path) | |
pdf_document.close() | |
# Devolver la ruta del archivo temporal PDF | |
return temp_file_path | |
except Exception as e: | |
return f"Error al procesar el archivo: {str(e)}" | |
file_input = gr.File(label="Selecciona un archivo XML", type="binary") | |
file_output = gr.File(label="Descargar archivo PDF", type="filepath") | |
iface = gr.Interface(xml_to_pdf, inputs=file_input, outputs=file_output) | |
iface.launch(share=True) | |