每个 pdf 添加 2 页文件名

adding 2 pages per pdf with filename

我正在志愿为一个组织制作身份证。使用 Python 中的各种资源编写脚本并创建图像。现在我将这些图像转换为 pdf 文件,其中包含身份证的正面和背面,作为带有持卡人姓名的单个 pdf 文件。我可以得到名字,但所有图像都添加到一个 pdf 中。我希望在图像到 pdf 本身的转换时每 2 页拆分一次。

from fpdf import FPDF
import glob

for image in image_list:
    print(image.title())
    # print(image.index(1))
    filename = image.rstrip("_front.png")
    filename = filename.rstrip("_back.png")
    print(filename)
    filename = filename.lstrip("\D:\pythonex\Achyutaashrama\")
    print("final filename--->"+filename)
    pdf.add_page()
    pdf.image(image, 50, 110, 110)
    if (len(pdf.pages)) / 2 == 0:
        pdf.output(filename + ".pdf", "F")
        break
    else:
        continue

如果我将 pdf.output 行放在 for 循环之外,它会到达一个文件并且上面的代码是 运行 没有任何错误但是没有生成任何文件。

请帮忙。

如果我没有理解错的话,问题是如何每 2 页创建一个新的 pdf。 如果您确定图像在列表中的位置,这里有一个如何以非常愚蠢的方式拆分 pdf 文件的示例,可能还有更多更好的想法。 概念是:创建 FPDF() 的新实例。
在下面的代码中,我只写了如何拆分文件,每个页面里面只有一个字符串:“Hello”和一个数字。

from fpdf import FPDF

def createpdf():
    # here I just create a fake list, just to explain how to split the pdf files
    image_list_fake = range(10)
    count = 1
    pdf = FPDF()
    for imag in image_list_fake:
        pdf.add_page()
        pdf.set_font('Arial', 'B', 16)
        pdf.cell(40, 10, 'Hello '+ str(imag))
        if count%2 == 0:
            # you have to close it ...
            pdf.output(str(imag)+'.pdf', 'F')
            # ... and open a new FPDF instance
            pdf = FPDF()
            count = 1
        else:
            count += 1