specify max width to reportlab.canvas.drawString

juanefren juanefren at gmail.com
Mon Sep 21 23:37:05 CEST 2009


On Sep 18, 3:20 am, Robin Becker <ro... at reportlab.com> wrote:
> juanefren wrote:
> > I am usingreportlabto create pdf documents, everything looks fine,
> > how ever, is there a way to specify a max width to drawString
> > function ? I mean cut the sentence and continue a step down...
>
> > Cheers....
>
> You'll get better results asking at thereportlabuser group
>
> reportlab-us... at reportlab.com
>
> but there are some ways to do what you want just with simple string manipulation.
>
> Assuming you know the initial x, y and have setup a canvas with the font and
> sizeand the maximum width you want.
>
> fromreportlab.lib.utils import simpleSplit
> L = simpleSplit(text,canv._fontname,canv._fontsize,maxWidth)
>
> for t in L:
>         canv.drawString(x,y,t)
>         y -= canv._leading
>
> I haven't tested this code, but that's the principle anyway for direct drawing
> to the canvas.
> --
> Robin Becker

It worked very good, thank you :)



More information about the Python-list mailing list