コード例 #1
0
def make_test(exam):

    # Set up custom fonts
    register_true_type_font()

    answers = False


    # Set up Doc properties
    styles = getSampleStyleSheet()
    
    if answers == True:
        doc = SimpleDocTemplate(f"exams/export/2021 {exam.name} ANSWERS.pdf",pagesize=letter)  
    else:
        doc = SimpleDocTemplate(f"exams/export/2021 {exam.name} Test.pdf",pagesize=letter)   

    doc_properties.Title = f"2021 {exam.name} Written Test"
    doc_properties.pageinfo = f"2021 {exam.name} Written Test"

    Story = [Spacer(1,.5*inch)]    
    style = styles["Normal"]   

    doc.leftMargin = 0.75 * inch
    doc.rightMargin = 0.75 * inch
    doc.title = '2021 State Conference Test'
    doc.auther = 'Pennsylvania TSA'

    for num, question, a, b, c, d, correct in zip(exam.numbers, exam.question, exam.choice_a, exam.choice_b, exam.choice_c, exam.choice_d, exam.correct):
        Story.append(IntegrateQuestions(num, question, a, b, c, d, correct, answers))
        Story.append(Spacer(0, 0.25*inch))

    # Append post-table text, if any
    Story.append(Spacer(0, 0.2*inch))  
    post_text = "This is the end of the test. Please submit your answer sheet."        
    p = Paragraph(post_text, style)
    Story.append(p)        

    # Finally, generate and save the PDF
    doc.build(Story, onFirstPage=FirstPage, onLaterPages=LaterPages)