Spaces:
Sleeping
Sleeping
File size: 1,246 Bytes
2d6c2ca 1a36dd0 2d6c2ca 82d688c fa23f5e a3d7f20 2d6c2ca 1a36dd0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
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)
|