首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FPDF在Python中生成空页

FPDF在Python中生成空页
EN

Stack Overflow用户
提问于 2016-11-11 01:13:01
回答 2查看 2.7K关注 0票数 3

我写的Python脚本,将产生PDF的文件夹与JPEG的基础上。没什么花哨的:

代码语言:javascript
复制
import os
from fpdf import FPDF

folders = [ ... here are numbers - folders are numbered ... ]

for folder in folders:
    pdf = FPDF()        
    for fil in os.scandir("parent folder" + str(folder) + "/"):
        pdf.add_page()
        pdf.image(fil.path, w=210, h=297)
    pdf.output("target location/" + str(folder) + ".pdf", "F")

然而,这段代码会导致PDF中所有其他页面都是空白的。有趣的是,这段代码:

代码语言:javascript
复制
import os
from fpdf import FPDF

folders = [ ... here are numbers - folders are numbered ... ]

for folder in folders:
    pdf = FPDF()        
    pdf.add_page()
    for fil in os.scandir("parent folder" + str(folder) + "/"):
        pdf.image(fil.path, w=210, h=297)
    pdf.output("target location/" + str(folder) + ".pdf", "F")

生成第一页为空的文件,其余页是正确的。

我看不到明显的修复方法--看起来有点像fpdf库。或者不是呢?

EN

回答 2

Stack Overflow用户

发布于 2017-11-07 10:26:44

请尝试在fpdf中禁用自动分页模式。为此,请调用set_auto_page_break(0)。我面对这个问题,这就是我的解决方案。希望它能帮上忙!

代码语言:javascript
复制
from fpdf import FPDF 
pdf = FPDF()
pdf.set_auto_page_break(0)

有关更多信息,请参阅最新文档:http://pyfpdf.readthedocs.io/en/latest/reference/set_auto_page_break/

票数 7
EN

Stack Overflow用户

发布于 2019-03-03 20:55:54

我解决这个问题的方法是使用:

代码语言:javascript
复制
pdf.set_auto_page_break(0)

在我启动PDF对象之后,然后在每次插入图像之前添加一个页面。示例代码如下:

代码语言:javascript
复制
from fpdf import FPDF
import os

pdf = FPDF(orientation = 'L') #if you want your pdf to be in Landscape mode
pdf.set_auto_page_break(0)

for i in range(10):
    image_location = os.getcwd() + '\\image_' + str(i) + '.jpg'
    pdf.add_page()
    pdf.image(image_location, w=270) #270 used for A4 paper in Landscape orientation
pdf.output('my_pdf.pdf')

使用上述代码生成的PDF文件没有空白页。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40533405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档