es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Weasyprint presenta un error de Fontconfig cuando se utiliza con Django.

Estoy intentando crear una aplicación que descarga un informe pdf con datos de un formulario. El formulario está hecho con Django, el pdf es con WeasyPrint. Pero parece que no funcionan juntos.

Este código funciona bien fuera de Django:

from weasyprint import HTML
HTML cadena=’prueba’ .escribir_pdf(“./report.pdf”)

Sin embargo, cuando es parte de una respuesta Django, como esta:

def resultado(request):
buffer = io.BytesIO()
HTML(string=’test’).write_pdf(buffer)
buffer.seek(0)
return FileResponse(buffer, as_attachment=True, filename=’report.pdf’)

Obtengo el error Fontconfig: No se puede cargar el archivo de configuración predeterminado y mi servidor Django se cierra. ¿Alguna idea de cómo solucionarlo? Estoy en Windows 10, python 3.7, instalé las últimas versiones de Django y WeasyPrint (y sus dependencias) a través de conda.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás teniendo un problema con WeasyPrint al no poder encontrar el archivo de configuración de fuentes. Es posible que el archivo de configuración de fuentes no se encuentre en la ubicación esperada o que los permisos sobre el archivo no estén configurados correctamente.

    Puedes intentar establecer la variable de entorno FONTCONFIG_PATH a la ubicación del archivo de configuración de fuentes. También puedes intentar establecer la variable de entorno FONTCONFIG_FILE a la ruta del archivo de configuración de fuentes.

    Si eso no funciona, puedes intentar establecer la variable de entorno WEASYPRINT_FONTCONFIG_PATH a la ruta del archivo de configuración de fuentes.

    Si ninguna de estas soluciones funciona, puede que necesites buscar otras soluciones, como el uso de una biblioteca de PDF diferente o el uso de otro archivo de configuración de fuentes.

Comments are closed.