0
PDF를 생성하기 위해 ReportLab/오리너구리를 사용하여 장고 기반 웹 사이트 용 일부 PDF 생성 코드를 작성하고 있습니다.오리너구리 - PageTemplate에서 여러 프레임 사용
필자는 PageTemplate을 서브 클래 싱하여 일관된 페이지를 다듬을 수 있으며 요구 사항에 맞게 다중 열 레이아웃을 생성하는 코드를 포함 시켰습니다. 나는 현재 showBoundary = 1 디버깅을 위해있다.
그러나 두 열 레이아웃을 렌더링 할 때 나타나는 첫 번째 프레임 경계 만 보입니다. 무엇이 잘못 될 수 있습니까?
class ReportPageTemplate(PageTemplate):
def __init__(self, id='basic', columns=1, pagesize=A4, leftMargin=(2*cm), bottomMargin=(2.1*cm), colmargin=(0.5*cm)):
(right, top) = pagesize
right -= leftMargin
top -= bottomMargin
height = top - bottomMargin
width = (right - leftMargin)
# Subtract out blank space between columns
colwidth = (width - ((columns - 1) * colmargin))/columns
frames = []
for col in range(columns):
left = leftMargin + (col * (colwidth + colmargin))
frames.append(Frame(left, bottomMargin, colwidth, height, showBoundary=1))
PageTemplate.__init__(self, id=id, frames=frames, pagesize=pagesize)
def beforeDrawPage(self, canvas, doc):
print self.id
(width, height) = canvas._pagesize
canvas.setLineWidth(0.2 * cm)
canvas.line(0.5*cm, height - (2*cm), width - (0.5*cm), height - (2*cm))
canvas.line(0.5*cm, (2*cm), width - (0.5*cm), (2*cm))