我编写了Python脚本,它将根据带有JPEG的文件夹生成PDF。没什么好看的:
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将每隔一页留空。有趣的是这段代码:
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库。或者不是吗?
答案 0 :(得分:3)
请尝试在fpdf中禁用自动分页模式。为此,请致电set_auto_page_break(0)
。
我遇到了这个问题,这是我的解决方案。希望它有所帮助!
from fpdf import FPDF
pdf = FPDF()
pdf.set_auto_page_break(0)
有关详细信息,请参阅最新文档: http://pyfpdf.readthedocs.io/en/latest/reference/set_auto_page_break/
答案 1 :(得分:0)
我解决此问题的方法是使用:
pdf.set_auto_page_break(0)
在我启动PDF对象之后,然后在每次插入图像之前添加一个页面。示例代码为:
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文件没有空白页。