1

使用下面的代码,我试图将图片从目录粘贴到 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 文件中搜索空白页并将其删除?

4

1 回答 1

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

于 2017-05-02T13:06:01.080 回答