[reportlab-users] Reducing the margin of a table

Robin Becker robin at reportlab.com
Wed Jun 29 06:40:18 EDT 2005

Claudio Battaglino wrote:
> Hi,
> I'd like to generate a page with a single table with margin = 0.
> That is the table should fill all the page.
> I tried it and the result is in the attachment.
> As you can see I don't have a null margin and between the table and the
> border of the page I've an empty space.
> How can I have a table that fills all the page?
Unfortunately for reasons bets know only to an earlier iteration of myself it 
seems that Frames come with a built in set of paddings and in SimpleDcocTemplate 
there's no easy way to get at them. A way round that is to define your own class 
and fix up the paddings prior to use eg

from reportlab.platypus import SimpleDocTemplate, Table, TableStyle, Paragraph
from reportlab.lib.units import cm
from reportlab.lib import colors
PAGE_WIDTH = 5.5 * cm
PAGE_HEIGHT = 2.2 * cm

t = Table([['This is a single cell table']],
                         ('LEFTPADDING',(0,0),(-1,-1), 0),
                         ('RIGHTPADDING',(0,0),(-1,-1), 0),
                         ('BACKGROUND', (0,0), (-1,-1), colors.pink),
                         ('BOX',(0,0),(-1,-1), 0.1, colors.blue),
class MySimpleDocTemplate(SimpleDocTemplate):
     def addPageTemplates(self,pageTemplates):
         '''fix up the one and only Frame'''
         if pageTemplates:
             f = pageTemplates[0].frames[0]

             pagesize=(PAGE_WIDTH, PAGE_HEIGHT),
             bottomMargin=0, topMargin=0, rightMargin=0, leftMargin=0,

Robin Becker

More information about the reportlab-users mailing list