Python Forum

Full Version: Help! - How to create a Title for a Reportlab Table
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi, I am trying to create a title for my reportlab table.

from reportlab.platypus import SimpleDocTemplate, Table, TableStyle, Paragraph, Frame, Spacer
from reportlab.lib import colors
from reportlab.lib.units import cm
from reportlab.lib.pagesizes import A3, A4, landscape, portrait
from reportlab.lib.styles import ParagraphStyle, getSampleStyleSheet
from reportlab.lib.enums import TA_LEFT, TA_RIGHT, TA_CENTER, TA_JUSTIFY
from reportlab.pdfgen import canvas

try:
    #
    #   Define report name
    #
    strPDFParameterReportFile = "test.pdf"
    doc = SimpleDocTemplate(strPDFParameterReportFile, pagesize=A4)
    #
    #   Container for flowable objects
    #
    elements = []
    styles=getSampleStyleSheet()
    styleN = styles["Normal"]
    #
    #   Column headings
    #
    column1Heading = "First Name"
    column2Heading = "Last Name"
    #
    # Assemble data
    #
    data = [[column1Heading,column2Heading]]
    #
    data.append(["Moe", "Howard"])
    data.append(["Larry", "Fine"])
    data.append(["Curly", "Howard"])
    data.append(["Shemp", "Howard"])
    #
    #   Define styles
    #
    tableThatSplitsOverPages = Table(data, [6 * cm, 6 * cm], repeatRows=1)
    tableThatSplitsOverPages.hAlign = 'LEFT'
    tblStyle = TableStyle([('TEXTCOLOR',(0,0),(-1,-1),colors.black),
                           ('VALIGN',(0,0),(-1,-1),'TOP'),
                           ('LINEBELOW',(0,0),(-1,-1),1,colors.black),
                           ('BOX',(0,0),(-1,-1),1,colors.black),
                           ('BOX',(0,0),(0,-1),1,colors.black)])
    tblStyle.add('BACKGROUND',(0,0),(1,0),colors.lightblue)
    tblStyle.add('BACKGROUND',(0,1),(-1,-1),colors.white)
    tableThatSplitsOverPages.setStyle(tblStyle)
    elements.append(tableThatSplitsOverPages)
    doc.build(elements)
except:
    blnAnErrorHasOccurred = True
Any help is appreciated.

Lou