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

时间:2017-05-02 09:32:50

标签: python pdf fpdf pypdf2

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

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

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

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文件中搜索空白页并将其删除?

1 个答案:

答案 0 :(得分:1)

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

fpdf.set_auto_page_break(0)

请参阅此处的文档:https://github.com/reingart/pyfpdf/blob/master/docs/reference/set_auto_page_break.md