FPDF在每次迭代中创建一个包含1个额外页面的pdf文件

2024-09-29 21:40:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我从FPDF库中得到了一个创建pdf的函数。 比如说,我有4个订单,我需要为每个订单创建pdf,所以我循环浏览它们

orders = [10, 11, 12, 13]
for o in orders: 
    generate_pdf(o)

函数生成pdf:

from fpdf import FPDF
pdf = FPDF()
def generate_pdf(DokId):
    pdf.add_page()
    header = "Order #{}".format(DokId)
    
    pdf.set_font('Arial', 'B', 20)
    w = pdf.get_string_width(header) + 6
    pdf.set_x((210 - w) / 2)
    pdf.cell(w, 9, header, 0, 0, 'C')
    pdf.line(20, 18, 210-20, 18)
    pdf.output('{}.pdf'.format(DokId), 'F')
    return None

对于我列表中的第一个el,我有一页的文件“10.pdf”,下一个是2页,以此类推。 如何避免这种情况,并为循环中的每个订单号只创建一页

提前谢谢


Tags: 函数infrom订单importformatforpdf
1条回答
网友
1楼 · 发布于 2024-09-29 21:40:45

我没有使用FPDF,但我猜问题在于每次都使用相同的pdf对象,因此每次调用add_page后,都会向同一文档添加另一个页面,而不是新页面

尝试添加

pdf = FPDF()

在调用pdf.add_page()之前

相关问题 更多 >

    热门问题