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.read().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="download") iface = gr.Interface(xml_to_pdf, inputs=file_input, outputs=file_output) iface.launch(share=True)