Si te encuentras con algún detalle que te causa duda nos puedes dejar un comentario y te ayudaremos lo más rápido posible.
Solución:
No creo que haya un ajuste en TableStyle
que le permite cambiar la altura de la fila. Esa medida se da cuando estás creando un nuevo Table
objeto:
Table(data, colwidths, rowheights)
Donde colwidths
y rowheights
son listas de valores de medición, así:
from reportlab.lib.units import inch
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.platypus import Paragraph
from reportlab.platypus import Table
from reportlab.lib import colors
# Creates a table with 2 columns, variable width
colwidths = [2.5*inch, .8*inch]
# Two rows with variable height
rowheights = [.4*inch, .2*inch]
table_style = [
('GRID', (0, 1), (-1, -1), 1, colors.black),
('VALIGN', (0, 0), (-1, -1), 'MIDDLE'),
('ALIGN', (1, 1), (1, -1), 'RIGHT')
]
style = getSampleStyleSheet()
title_paragraph = Paragraph(
"My Title Here",
style["Normal"]
)
# Just filling in the first row
data = [[title_paragraph, 'Random text string']]
# Now we can create the table with our data, and column/row measurements
table = Table(data, colwidths, rowheights)
# Another way of setting table style, using the setStyle method.
table.setStyle(tbl_style)
report.append(table)
colwidths
y rowheights
se puede cambiar a cualquier medida que necesite para adaptarse al contenido. colwidths
se lee de izquierda a derecha y rowheights
se lee de arriba hacia abajo.
Si sabe que todas las filas de su tabla van a tener la misma altura, puede usar este buen atajo:
rowheights = [.2*inch] * len(data)
Lo que te da una lista como [.2*inch, .2*inch, ...]
por cada fila en su data
variable.
(No tengo suficiente reputación para comentar la otra respuesta)
Con respecto al último atajo, simplemente “ROW_HEIGHT = 5 * mm” está funcionando. No es necesario multiplicar la altura de la fila por el número de filas en la tabla.
ROW_HEIGHT = 5 * mm
curr_table = Table(data, COL_WIDTHS, rowHeights=ROW_HEIGH )
Ahorra un poco de memoria. 🙂
valoraciones y reseñas
Recuerda que puedes dar difusión a esta reseña si te fue de ayuda.