frame2 = Frame(doc.leftMargin + doc.width / 2 + 6, doc.bottomMargin, doc.
    width / 2 - 6, doc.height, id='col2')
Elements.append(Paragraph(' '.join([random.choice(words) for i in range(
    1000)]), styles['Normal']))
doc.addPageTemplates([PageTemplate(id='TwoCol', frames=[frame1, frame2])])
doc.build(Elements)
Reportlab. Floating Text with two Columns