2017-01-09 39 views
0

我是新來報告實驗室和蟒蛇。我知道與reportlab你可以包裝測試段落和表格,但我正在繪製一個可變文本的報告,有時文本是兩個長,需要包裝。是否有一種方法可以讓文本發送到reportlab中,如果它過長,就會被打包?ReportLab用抽繩包裹

系統信息: Windows 8的機器,ReportLab的3.3,Python 3中

回答

1

它看起來像抽繩不允許包裝。我最終通過使用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) 
+0

在Stackoverflow,你應該upvote *任何問題或答案你覺得有用。在你的問題中,如果其中一個答案非常適合你的問題,你可以將其標記爲接受的答案。有關準則,請參閱[幫助中心](http://stackoverflow.com/help/someone-answers)。當你回答你自己的問題時,這甚至適用。 –