0
我正在嘗試爲ReportLab編寫一個Flowable,它需要能夠拆分。根據我對文檔的理解,我需要定義一個函數split(self, aW, aH)
,它將流動分開。然而,我得到了我無法解決的以下錯誤。拆分ReportLab流程
一個簡單的可流動:
class MPGrid (Flowable):
def __init__(self, height=1*cm, width=None):
self.height = height
self.width = None
def wrap(self, aW, aH):
self.width = aW
return (aW, self.height)
def split(self, aW, aH):
if aH >= self.height:
return [self]
else:
return [MPGrid(aH, aW), MPGrid(self.height - aH, None)]
def draw(self):
if not self.width:
from reportlab.platypus.doctemplate import LayoutError
raise LayoutError('No Width Defined')
c = self.canv
c.saveState()
c.rect(0, 0, self.width, self.height)
c.restoreState()
當一個文檔中使用,並要求分割,產生以下錯誤:
reportlab.platypus.doctemplate.LayoutError: Splitting error(n==2) on page 4 in
<MPGrid at 0x102051c68 frame=col1>...
S[0]=<MPGrid at 0x102043ef0 frame=col1>...
這種流動應該是一個固定的高度,如果實在是太大了對於可用高度,將其分割爲消耗高度,然後在下一幀中提醒固定高度。
我在做什麼錯誤導致這個不太有用的錯誤?