0

当按下按钮时,我想将在 python 中打印列表/元组的功能添加到 pdf 格式的表格中。

当如下单独使用时,它工作正常。

from fpdf import FPDF

pdf=FPDF(format='letter', orientation='L', unit='in')
 
pdf.add_page()

pdf.set_font('Times','',10.0) 

epw = pdf.w - 2*pdf.l_margin

col_width = epw/7
line_height = pdf.font_size * 2.5

data = (triage_printout)
 
pdf.set_font('Times','B',14.0) 
pdf.cell(epw, 0.0, 'FSA Priority List', align='C')
pdf.set_font('Times','',10.0) 
pdf.ln(0.5)
 
th = pdf.font_size
 
for row in data:
    for datum in row:
        pdf.cell(col_width, 2*th, str(datum), border=1)
 
    pdf.ln(2*th)

pdf.output('triage.pdf','F')

但是,当我将它插入为按钮定义的函数(发送)中时,pdf 中的表格并不正确,我不知道如何解决这个问题。该表只是成为单行数据并在页面末尾被切断。

数据是从名为“triage_printout”的元组中提取的。

def send():
    from fpdf import FPDF
    
    pdf=FPDF(format='letter', orientation='L', unit='in')
    
    pdf.add_page()
    
    pdf.set_font('Times','',10.0) 
    
    epw = pdf.w - 2*pdf.l_margin
    
    col_width = epw/7
    line_height = pdf.font_size * 2.5
    
    data = (triage_printout)
    
    pdf.set_font('Times','B',14.0) 
    
    pdf.cell(epw, 0.0, 'FSA Priority List', align='C')
    pdf.set_font('Times','',10.0) 
    pdf.ln(0.5)
    
    th = pdf.font_size
    
    for row in data:
        for datum in row:
            pdf.cell(col_width, 2*th, str(datum), border=1)
 
    pdf.ln(2*th)
    
    pdf.output('triage.pdf') 

非常感谢任何帮助。

谢谢你。

4

0 回答 0