[reportlab-users] Re: Getting the number of lines in a frame
John Pywtorak
jpywtora at calpoly.edu
Fri Aug 25 14:09:20 EDT 2006
The problem with your second issue (ValueError exception below) I
believe is the for loops creating the headings and texts arrays and then
the line:
data = (headings, texts), (headings, texts)
Take a look at data it is created wrong for Table. I think you are
getting something like
data = (((Paragraph, ...), (Paragraph, ...)), ((Paragraph, ...),
(Paragraph, ...)))
It needs to be
data = (
#Row 0
('Col 0', 'Col 1', '...'),
#Row 1
('Col 0', 'Col 1', '...'),
#Row ...
)
Hope this helps.
Saketh Bhamidipati wrote:
...
> That explains the lack of wrapping.
>
> I'm almost there, I just have two more problems to fix and then it's
> perfect.
>
> First of all, the column on the right doesn't shrink to the left. I want
> it to be 6 inches wide, with the column on the left being 1.5 inches
> wide, and both on the paper. But when I changed the colWidth from 7 *
> inch to 6 * inch, the left column moves to the right. See the attached
> PDFs for examples of the problem.
>
> def __init__(self, filename, title, author):
> self.title = title
> self.author = author
> self.doc = NotalonTemplate(filename, title, author)
> self.story = []
> self.style = TableStyle([
> ('TOPPADDING', (0, 0), (-1, -1), 0),
> ('BOTTOMPADDING', (0, 0), (-1, -1), 0),
> ('LEADING', (0, 0), (-1, -1), 10),
> ('FONTSIZE', (0, 0), (-1, -1), 10),
> ('ALIGN', (0, 0), (-1, -1), 'LEFT'),
> ('VALIGN', (0, 0), (-1, -1), 'TOP')])
>
> def addTextAndHeading(self, text, heading):
> texts = []
> headings = []
>
> for line in text.strip().splitlines():
> texts.append(Paragraph(bullet(line),
> style=styles["Normal"]))
>
> for line in heading.strip().splitlines():
> headings.append(Paragraph(line, style=styles["Normal"]))
>
> data = (headings, texts), (headings, texts)
>
> # Here's the troublesome line
> self.story.append(Table(data, colWidths=(1.5 * inch, 7 * inch),
> style=self.style))
>
>
>
> Second, I can't append one row at a time for some reason. If I set the
> data variable to (headings, texts), then I get an error which says:
>
> ValueError: <Table at 18562824 2 rows x 1 cols> with cell(0,0)
> containing
> '<Paragraph at 0x11a7238>heading heading heading headin' data error
> - 1 columns in data but 2 in grid
>
>
> Thanks.
>
More information about the reportlab-users
mailing list