本文整理汇总了Python中reportlab.platypus.SimpleDocTemplate.current_enrollment方法的典型用法代码示例。如果您正苦于以下问题:Python SimpleDocTemplate.current_enrollment方法的具体用法?Python SimpleDocTemplate.current_enrollment怎么用?Python SimpleDocTemplate.current_enrollment使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reportlab.platypus.SimpleDocTemplate
的用法示例。
在下文中一共展示了SimpleDocTemplate.current_enrollment方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: write_info_sheets
# 需要导入模块: from reportlab.platypus import SimpleDocTemplate [as 别名]
# 或者: from reportlab.platypus.SimpleDocTemplate import current_enrollment [as 别名]
def write_info_sheets(output, enrollments):
story = []
enrollment_queue = deque()
for enrollment in enrollments:
enrollment_queue.append(enrollment)
story.extend(story_for_info_sheet(enrollment))
story.append(NextStudent())
story.append(PageBreak())
#Makes the assumption of one page per student sheet
def draw_footer(canvas, doc):
canvas.saveState()
canvas.setFont("Helvetica", 12)
canvas.setStrokeColor(colors.grey)
canvas.setFillColor(colors.grey)
enrollment = doc.current_enrollment
if enrollment:
canvas.drawString(.75*inch, .75*inch, enrollment.student.last_name_first)
canvas.drawRightString(7.75*inch, .75*inch, "Grade: {}".format(enrollment.grade.grade))
canvas.restoreState()
doc = SimpleDocTemplate(output, pagesize=(8.5*inch, 11*inch))
doc.enrollments = enrollment_queue
#Pop the first enrollment so current_enrollment is accurate and NextStudent() works property
doc.current_enrollment = doc.enrollments.popleft()
doc.build(story, onFirstPage=draw_footer, onLaterPages=draw_footer)