[reportlab-users] KeepTogether not working with Spacers any more
Robin Becker
robin at reportlab.com
Thu Jul 20 03:36:12 EDT 2006
Christoph Zwerschke wrote:
> I used to initialize a vertical spacer like
>
> s = Spacer(0, 1*inch)
>
> This worked nicely with ReportLab 1.20, but in ReportLab 1.21 I
> experienced a problem if such spacers appear in a KeepTogether list.
>
> I found the reason to be the following line that has been added to the
> _listWrapOn() function calculating the height of the KeepTogether list
> by summing up the heights of the individual flowables:
>
> if w<=_FUZZ or h<=_FUZZ: continue
>
> Here, _FUZZ is a very small value close to 0 (1e-6). This means that
> spacers like the above with a horizontal dimension of 0 are ignored in
> the calculation. I think this should be corrected.
>
> As a work-around, I'm now initializing the spacers with a non-zero width
> (and noticed that the user's guide does it similarly):
>
> s = Spacer(1, 1*inch)
>
....... for now this is the correct solution as we don't actually use
the width for anything. Probably should fix the code so it attempst to
special case the layout.
--
Robin Becker
More information about the reportlab-users
mailing list