Search code examples
pythondjangoreportlab

Reportlab - Add two Paragraphs into one table cell


I have a table which is build up like the following:

styleN = styles["Normal"]

data = []
table_row = ['ID', 'Some Information']
data.append(table_row)

table_row = []
table_row.append(Paragraph(object.ID, styleN))
table_row.append(Paragraph(object.some_information1, styleN))

data.append(table_row)
t = Table(data, (6*cm,6*cm,2*cm,2*cm,2*cm), row_heights, style=ts)

Now I want to achieve that I can add into the second cell a second paragraph containing object.some_information2.

Some more or less pseudo - code to illustrate what I want to achieve:

table_row = []
table_row.append(Paragraph(object.ID, styleN))
info1 = Paragraph(object.some_information1, styleN)
info2 = Paragraph(object.some_information2, styleN)
info_paragraphs = info1 + info2 
table_row.append(info_paragraphs)

data.append(table_row)
t = Table(data, (6*cm,6*cm,2*cm,2*cm,2*cm), row_heights, style=ts)

Solution

  • Got feedback in the reportlab google group and it is actually very easy to achieve. Only add a list of paragraphs into the cell.

    styleN = styles["Normal"]
    data = []
    table_row = ['ID', 'Some Information']
    data.append(table_row)
    table_row = []
    table_row.append(Paragraph(object.ID, styleN))
    paragraphs = []
    info1 = Paragraph(object.some_information1, styleN)
    info2 = Paragraph(object.some_information2, styleN)
    paragraphs.append(info1)
    paragraphs.append(info2)
    table_row.append(paragraphs)
    data.append(table_row)
    t = Table(data, (6*cm,6*cm,2*cm,2*cm,2*cm), None, style=ts)