Foros del Web » Programando para Internet » Python »

Imagenes con Reportlab En django

Estas en el tema de Imagenes con Reportlab En django en el foro de Python en Foros del Web. Buenos Dias. Estoy haciendo unos reportes en pdf con django y reportlab usando platypus. Y necesito Cargar unas imagenes del logo de la empresa. pero ...
  #1 (permalink)  
Antiguo 23/05/2011, 07:44
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 8 meses
Puntos: 16
Pregunta Imagenes con Reportlab En django

Buenos Dias. Estoy haciendo unos reportes en pdf con django y reportlab usando platypus. Y necesito Cargar unas imagenes del logo de la empresa. pero NO me funciona. me da el siguiente error.
Código Python:
Ver original
  1. Cannot open resource "/site_media/css/images/imagen.jpg"
:s Da a entender que es la direccion de la imagen. pero he probado con la configuracion url de django.... hasta con la ubicacion real. y sigue dando el mismo error. Si alguien tiene alguna idea de la razon lo agradezco. aqui esta el segmento de codigo para insertar la imagen:
Código Python:
Ver original
  1. im = Image("/site_media/css/images/imagen.jpg", width=2, height=20)
  2. Catalog.append(leyenda)
  #2 (permalink)  
Antiguo 23/05/2011, 18:22
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Imagenes con Reportlab En django

Se me hace que tenés que poner la ubicación real y no la ruta desde la raíz del sitio.
Como además decís que ya usaste la ruta real y te dio el mismo problema, pues solamente puedo pensar quizás en un tema de permisos de archivo. ¿qué permisos tiene imagen.jpg?
No creo que tenga que ver con la configuración de URL de django, aunque me queda investigar el uso de la clase Image.


saludos.
  #3 (permalink)  
Antiguo 24/05/2011, 07:25
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 16 años, 3 meses
Puntos: 27
Respuesta: Imagenes con Reportlab En django

Pienso que el problema está en los permisos de la imagen o en dar un ruta equivocada.

Yo doy la URL y no me da problemas. Algo como:

Código:
Image('%simg/general/prueba.png' % settings.MEDIA_URL, width = self.ancho*0.33,
           height = self.ancho*0.33*escala)
Ahora bien según Django 1.3 es recomendable usar las directivas STATIC_URL, MEDIA_URL, MEDIA_ROOT y STATIC_ROOT para separar los archivos estáticos de lo subidos por el usuario.

Saludos.
  #4 (permalink)  
Antiguo 26/05/2011, 07:14
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 8 meses
Puntos: 16
Respuesta: Imagenes con Reportlab En django

ok. muchas gracias. En lo que pueda probare y cualquier cosa aviso. :D
  #5 (permalink)  
Antiguo 01/06/2011, 21:18
 
Fecha de Ingreso: junio-2011
Mensajes: 5
Antigüedad: 13 años, 5 meses
Puntos: 10
Respuesta: Imagenes con Reportlab En django

Yo te sugiero que no uses reportlab. Puedes usar Pisa para convertir de HTML a PDF. Basicamente lo que haces es generar tu template a formato de reporte y lo transformas a PDF. (de HTML a PDF, te respeta imagenes y todo. Usa css en linea o tablas)

Código Python:
Ver original
  1. template = get_template(template_src)
  2.     context = Context(context_dict)
  3.     html  = template.render(context)
  4.     result = StringIO.StringIO()
  5.     pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("ISO-8859-1")), result)

Ya después solo lo regresas con cabeceras application/pdf forzando la descarga.

Ejemplo : http://djangosnippets.org/snippets/659/

Etiquetas: django, imagenes, reportlab
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:21.