我希望有一个可流动的,只是一个具有固定宽度和高度的盒子,但可以采用几个可流动的内容。所以这个盒子里的flowables应该认为盒子的末端是页面的末尾(例如,如果盒子的宽度不够,paragaph应该打破这条线)。
我的第一次尝试看起来像这样:
from reportlab.platypus import Flowable
class Box(Flowable):
def __init__(self, width, height, flowables=[]):
self.width = width
self.height = height
self.flowables = flowables
def draw(self):
self.canv.rect(0, 0, self.width, self.height)
for flowable in self.flowables:
# how to handle flowables that they
# match into this flowable?
经过一些研究后,我发现我必须实现两种方法:wrapOn()
和drawOn()
。但我不知道该怎么做。