0
我是新來報告實驗室和蟒蛇。我知道與reportlab你可以包裝測試段落和表格,但我正在繪製一個可變文本的報告,有時文本是兩個長,需要包裝。是否有一種方法可以讓文本發送到reportlab中,如果它過長,就會被打包?ReportLab用抽繩包裹
系統信息: Windows 8的機器,ReportLab的3.3,Python 3中
我是新來報告實驗室和蟒蛇。我知道與reportlab你可以包裝測試段落和表格,但我正在繪製一個可變文本的報告,有時文本是兩個長,需要包裝。是否有一種方法可以讓文本發送到reportlab中,如果它過長,就會被打包?ReportLab用抽繩包裹
系統信息: Windows 8的機器,ReportLab的3.3,Python 3中
它看起來像抽繩不允許包裝。我最終通過使用textwrap python函數解決了這個問題;將原始字符串拆分爲一個列表,然後獲取列表的結果並手動創建一個帶有drawstring的新行(如果它通過一定的長度)。
import textwrap
if len(originalstring) > 45:
wrap_text = textwrap.wrap(originalstring, width=45)
canvas.drawString(coordx, coordy, wrap_text[0])
canvas.drawString(coordx, coordy, wrap_text[1])
else:
canvas.drawString(coordx, coordy, originalstring)
在Stackoverflow,你應該upvote *任何問題或答案你覺得有用。在你的問題中,如果其中一個答案非常適合你的問題,你可以將其標記爲接受的答案。有關準則,請參閱[幫助中心](http://stackoverflow.com/help/someone-answers)。當你回答你自己的問題時,這甚至適用。 –