While rendering a title (using reportlab), I would like to split it between two lines if it is longer than 45 characters. So far I have this:
if len(Title) < 45:
drawString(200, 695, Title)
else:
drawString(200, 705, Title[:45])
drawString(200, 685, Title[45:])
The problem with this is that I only want to split the title at a natural break, such as where a space occurs. How do I go about accomplishing this?
See this sample code :
import textwrap
print("\n".join(textwrap.wrap("This is my sooo long title", 10)))
The output :
This is my
sooo long
title
See full Python doc : http://docs.python.org/library/textwrap.html#module-textwrap
Use rfind(' ', 0, 45)
to find the last space before the boundary and break at that position. If there's no space (rfind returns -1), use the code you have.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With