Foros del Web » Programando para Internet » Python »

Ayuda con Django y Reportlab

Estas en el tema de Ayuda con Django y Reportlab en el foro de Python en Foros del Web. Un saludo para todos, Me gustaría que me ayudaran con lo siguiente: Estoy desarrollando una aplicación en Django y estoy usando Reportlab, hasta aca todo ...
  #1 (permalink)  
Antiguo 20/02/2011, 20:52
 
Fecha de Ingreso: abril-2010
Ubicación: Manizales
Mensajes: 91
Antigüedad: 14 años, 7 meses
Puntos: 2
Ayuda con Django y Reportlab

Un saludo para todos,

Me gustaría que me ayudaran con lo siguiente: Estoy desarrollando una aplicación en Django y estoy usando Reportlab, hasta aca todo bien, el problema es que para el reportlab estoy usando algo llamado Platypus, y lo que quiero hacer es un salto de página, solo eso, he buscado por la web y solo encuentro con Canvas.

Lo único que necesito es que al llamar a un método inicie en la siguiente página.

Muchas gracias por su ayuda.
__________________
pensando en Bytecodes
  #2 (permalink)  
Antiguo 20/02/2011, 21:13
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Ayuda con Django y Reportlab

Lo que tu necesitas es un redirect.
  #3 (permalink)  
Antiguo 20/02/2011, 21:20
 
Fecha de Ingreso: abril-2010
Ubicación: Manizales
Mensajes: 91
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: Ayuda con Django y Reportlab

jajaja, Muchas gracias por tu respuesta, pero creo que no me explique muy bien

Necesito iniciar en una nueva página del pdf generado, teniendo en cuenta que Reportlab se usa para eso
__________________
pensando en Bytecodes
  #4 (permalink)  
Antiguo 21/02/2011, 00:05
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Ayuda con Django y Reportlab

En ese caso seria buena idea que pusieras algo de código, una explicación mas detallada, la salida que esperas y la salida que recibes. Todo esto con el fin de saber que es lo que estas tratando de hacer.

Ademas siempre recomiendo leer la documentación sobre el modulo (o paquete) que estas trabajando.
  #5 (permalink)  
Antiguo 21/02/2011, 00:43
 
Fecha de Ingreso: abril-2010
Ubicación: Manizales
Mensajes: 91
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: Ayuda con Django y Reportlab

Ya lo solucioné muchas gracias, aca va la explicación de lo que quería y como lo conseguí:

Lo que quería simplemente era un salto de página en un documento pdf generado con Reportlab, lo conseguí manejando estilos con el metodo
Código Python:
Ver original
  1. getSampleStyleSheet()
del paquete reportlab.lib.styles

Luego asigne una propiedad de cambio de línea a una variable, por ejemplo los encabezados h3, escribo todo el código que use para esto:

Código Python:
Ver original
  1. from reportlab.libs.styles import getSampleStyleSheet
  2.  
  3. estilos = getSampleStyleSheet()
  4.  
  5. h3 = estilos['Header3']
  6. h3.pageBreakBefore = 1

El atributo mágico es el pageBreakBefore, con el cual logramos hacer que al escribir un encabezado de este tipo cambie de página de inmediato
__________________
pensando en Bytecodes
  #6 (permalink)  
Antiguo 22/02/2011, 22:53
 
Fecha de Ingreso: abril-2010
Ubicación: Manizales
Mensajes: 91
Antigüedad: 14 años, 7 meses
Puntos: 2
Ayuda con Django y Reportlab

Tengo una pregunta, como puedo hacer que un Paragraph de platypus de repotlab haga un break line a un ancho específico, es que necesito meterlo en una tabla que tiene un tamaño fijo.

Muchas gracias por la ayuda
__________________
pensando en Bytecodes
  #7 (permalink)  
Antiguo 24/02/2011, 06:23
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con Django y Reportlab

no conozco el sistema, pero según la API existe un método setLineWidth(), ¿no te sirve?
  #8 (permalink)  
Antiguo 24/02/2011, 14:35
 
Fecha de Ingreso: abril-2010
Ubicación: Manizales
Mensajes: 91
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: Ayuda con Django y Reportlab

Muchas gracias ya lo solucioné, simplemente era usar los estilos para las páginas que vienen por defecto con DJANGO, era hacer algo como esto
Código Python:
Ver original
  1. from reportlab.lib.styles import getSampleStyleSheet
  2. from reportlab.platypus import Paragraph
  3.  
  4. #Esto me crea un diccionario con los estilos por defecto en reportlab
  5. styles = getSampleStyleSheet()
  6.  
  7. #Seleccionamos para un texto normal
  8. normal = styles['Normal']
  9.  
  10. #Creamos un Paragraph y como estilo le asignamos el estilo normal
  11. uno = Paragraph('Una línea muy muy muy muy larga', style = normal)

Listo asi lo solucioné, muchas gracias por tu respuesta AlvaroG!
__________________
pensando en Bytecodes

Etiquetas: django
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 02:33.