我想要一个可流动的,它只是一个具有固定宽度和高度但可以将多个可流动作为其内容的盒子。所以这个盒子里的flowables应该认为盒子的结尾就是页面的结尾(例如,如果盒子的宽度不够,段落应该换行)。
我的第一次尝试如下所示:
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()
. 但我不知道该怎么做。