使用 python 从新生成的 pdf 文件中删除空白页

Removing blank pages from a newly generated pdf file with python

使用下面的代码,我试图将目录中的图片粘贴到 PDF 文件中。代码已经在运行并几乎按照我的意愿生成我的 PDF。

唯一出现的问题是它一直在图片之间添加空白页,我只是不知道为什么。 如果我执行代码,PDF 从空白页开始,然后是图片 1、空白页、图片 2 等等。所以我最终得到了一个包含 25 张图片的 50 页 PDF 文件。

虽然图片插入正确,但周围没有任何白色边框。它们非常适合页面大小。

from fpdf import FPDF
from PIL import Image

def CreateList(End):
    _list = []
    for i in range(1, End + 1):
        _list.append(i)        
    return(_list)    

def makePdf(pdfFileName, listPages, dir = ''):
    if (dir):
        dir += "\"

    cover = Image.open(dir + str(listPages[0]) + ".jpg")
    width, height = cover.size[0], cover.size[1]

    pdf = FPDF(unit = "pt", format = [width, height])

    for page in listPages:
        pdf.set_margins(0,0,0)
        pdf.add_page()
        pdf.image(dir + str(page) + ".jpg")

    pdf.output(dir + pdfFileName + ".pdf", "F")

listPages = CreateList(26)
makePdf('file', listPages, 'dir')

如何避免添加空白页的问题?

或者,有没有办法在我新生成的 PDF 文件中搜索空白页并将其删除?

我最初的猜测是您需要禁用 set_auto_page_break:

fpdf.set_auto_page_break(0)

在此处查看文档:https://github.com/reingart/pyfpdf/blob/master/docs/reference/set_auto_page_break.md