[reportlab-users] Box with title and content portions having different background colors

Michael Dorrian michael.dorrian at gmail.com
Wed Jun 24 15:47:04 EDT 2009


Have u tried nesting a table and paragraph inside another table....here is
an example....u could also nest two paragraphs inside a table or add more as
needed....the reportlab examples are good for this...test_table_layout.py
has alot of info on this...

from reportlab.platypus import Spacer, SimpleDocTemplate, Table, TableStyle
from reportlab.lib.units import inch, cm
from reportlab.platypus import Paragraph
from reportlab.rl_config import defaultPageSize
from reportlab.lib.units import inch,mm
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.pagesizes import A4,letter
from reportlab.lib import colors

def getTestTable():
t = Table((('Header 1','header 2','Header 3'),
('Quarter 1',100,200),
('Quarter 2',100,200),
('Quarter 3',100,200),
('Quarter 4',100,200),
('Total',400,600)),
(60,80,46),
(24, 16,16,16,18,18)
)
return t
def run():
doc = SimpleDocTemplate(filename="NestedTableTest.pdf",
pagesize=A4,
topMargin=0.5*inch,
bottomMargin=0.5*inch,
leftMargin=0.5*inch,

rightMargin=0.5*inch,showboundary=1)

my_paragraph_style
=ParagraphStyle(name='my_paragraph_style',fontName='Helvetica',fontSize=11,leading=12,spaceBefore=0,leftIndent=0)
p1 = 'Table Title'
Story = []
ministy1 = TableStyle([('SPAN', (0, 0), (0, 0)),('GRID', (0,0), (-1,-1),
1.0, colors.black),])
ts = TableStyle([
('GRID', (0,0), (-1,-1), 1.0, colors.black),
])
t = getTestTable()
t.setStyle(ts)
P = Paragraph(p1,my_paragraph_style)
NestedTable = Table([[P],[t]],(200),style=ministy1)
Story.append(NestedTable)
doc.build(Story)
if __name__ == "__main__":
run()

On Wed, Jun 24, 2009 at 8:41 AM, Benjamin Higgins <bhiggins at gmail.com>wrote:


> Well, there's going to be any number of these boxes appearing - it could be

> just one or maybe a dozen, each with different contents and heights - so I

> was hoping to implement it as a flowable element.

>

>

> On Tue, Jun 23, 2009 at 3:45 PM, Roberto Alsina <

> ralsina at netmanagers.com.ar> wrote:

>

>> On Tuesday 23 June 2009 19:24:29 Benjamin Higgins wrote:

>> > Hi all,

>> >

>> > I've been trying to create a box that looks like this:

>> >

>> > +----------------+

>> >

>> > | Title |

>> > |+--------------+|

>> > |

>> > || Content ||

>> > |

>> > |+--------------+|

>> >

>> > +----------------+

>> >

>> > I want the content area background to be white, and containing

>> background

>> > gray.

>> >

>> > My first attempt was to use a 3x3 table. This worked almost perfectly,

>> but

>> > when the content is bigger than a page I get a LayoutError Flowable "too

>> > large" exception. From reading the archives, I gather that table cells

>> > aren't able to be larger than a page.

>> >

>> > I'm now trying to find some other way to accomplish this design.

>> >

>> > Any tips?

>>

>> How about just drawing the grey background and white boxes in beforePage?

>>

>> --

>> ("\''/").__..-''"`-. . Roberto Alsina

>> `9_ 9 ) `-. ( ).`-._.`) KDE Developer (MFCH)

>> (_Y_.)' ._ ) `._`. " -.-' http://lateral.netmanagers.com.ar

>> _..`-'_..-_/ /-'_.' The 6,855th most popular site of Slovenia

>> (l)-'' ((i).' ((!.' according to alexa.com (27/5/2007)

>> "Our opponent is an alien starship packed with atomic bombs, I said.

>> We have a protractor. Okay, I’ll go home and see if I can scrounge up a

>> ruler and a piece of string." — Neal Stephenson

>> _______________________________________________

>> reportlab-users mailing list

>> reportlab-users at reportlab.com

>> http://two.pairlist.net/mailman/listinfo/reportlab-users

>>

>

>

> _______________________________________________

> reportlab-users mailing list

> reportlab-users at reportlab.com

> http://two.pairlist.net/mailman/listinfo/reportlab-users

>

>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://two.pairlist.net/pipermail/reportlab-users/attachments/20090625/d55756e8/attachment.html>


More information about the reportlab-users mailing list