[Python-es] Reportlab - Contenido de Tablas sin ajuste a celdas

Jose Caballero jcaballero.hep en gmail.com
Jue Jul 19 18:09:39 CEST 2012





On Jul 19, 2012, at 11:10, Roldan Darío Vargas Gómez <roldandvg en gmail.com> wrote:

> Buenos días
> 
> Ante todo un cordial saludo a todos los miembros de esta lista.
> 
> Soy nuevo en esta lista, y me gustar saber si alguno de los miembros de la lista posee, tiene, o dispone de alguna solución para un inconveniente que poseo (del cual no he encontrado la respuesta en Internet) al momento de generar un reporte en PDF con ReportLab usando la clase Table del módulo platypus.
> 
> La interrogante es que al querer generar una tabla en el reporte y la misma posee cierta cantidad de celdas con un texto variable extraído de una base de datos el cual puede ser muy pequeño y/o muy grande, el contenido se excede de los límites de la celda y lo que deseo es que al llegar a dicho límite el texto continúe en la siguiente línea de la misma celda.
> 
> Un extracto del código que realiza la operación para la generación del reporte es el siguiente:
> 
> --------------------///----------------------///--------------------------///------------------------
> from reportlab.platypus import SimpleDocTemplate, Table
> from reportlab.lib.styles import getSampleStyleSheet
> from reportlab.lib.pagesizes import LETTER, landscape, portrait
> from reportlab.lib.enums import TA_CENTER
> 
> estiloHoja = getSampleStyleSheet()
> story = []
> cuerpo = estiloHoja["BodyText"]
> cuerpo.alignment=TA_CENTER
> 
> datos = [[texto1_bd,texto2_bd,texto3_bd],[texto4_bd,texto5_bd,texto6_bd]] #donde textox_bd es el texto que proviene directamente de la Base de datos
> 
> tabla = Table(data=datos,colWidths=[80,450,50])
> 
> story.append(tabla)
> 
> doc = SimpleDocTemplate("reporte.pdf",pagesize=portrait(LETTER), leftMargin=1, rightMargin=1, topMargin=2, bottomMargin=2)
> doc.build(story)
> 
> --------------------///----------------------///--------------------------///------------------------
> 
> 
> El resultado en el archivo PDF se puede ver de la siguiente manera:
> 
> ______________________________________
> | encabezado1 | encabezado2 | encabezado3 |
> | ejemplo txt    | texto 2           | este texto deb|ería ir en la siguiente línea de esta celda
> 
> 
> --------------------///----------------------///--------------------------///------------------------
> 
> 

Hola,


Nunca he usado reportlab, por lo que no puedo ser de gran ayuda.
Aun asi he buscado en google "reportlab platypus wrap text in cell" y creo que el primer link tiene la solucion. O al menos te dara una idea de por donde seguir investigando.


Suerte,
Jose
[perdon por la ausencia de tildes]
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120719/c155bb32/attachment.html>


Más información sobre la lista de distribución Python-es